Есть ли способ проверить модель устройства в Apportable SDK?

Мне нужно реализовать какое-то особое поведение для конкретной модели устройства. Поэтому мне нужно проверить модель устройства.

я использую

[UIDevice currentDevice] name];

но это возвращает мне что-то вроде этого

Nexus 7 running Apportable

Я думаю, что это довольно странный результат. Есть ли другой способ сделать это?


person Dima Portenko    schedule 14.04.2014    source источник


Ответы (1)


используйте 1_

NSLog(@"%@", [[UIDevice currentDevice] nativeModel]);

будет генерировать D/Spin ( 3956): 2014-04-14 09:44:21.446 Spin[3956:2752] Nexus 7 в выводе logcat

Дополнительные сведения о расширениях API UIDevice см. в разделе .apportable/SDK/System/UIKit/UIDevice.h.

Apportable обычно принимает решения API для портов iOS как можно более плавно. Если вам действительно нужен конкретный результат для Android, обычно создается расширение API, отличное от iOS.

Вот некоторые подробности о сопоставлении UIDevice.h с Android Build API. :

@property (nonatomic, readonly) NSString *nativeSystemName;    -> @"Android" 
@property (nonatomic, readonly) NSString *nativeCPUABI;        -> Build.CPU_ABI
@property (nonatomic, readonly) NSString *nativeModel;         -> Build.MODEL
@property (nonatomic, readonly) NSString *nativeProduct;       -> Build.PRODUCT
@property (nonatomic, readonly) NSString *nativeManufacturer;  -> Build.MANUFACTURER
@property (nonatomic, readonly) NSString *nativeSystemVersion; -> Build.RELEASE
@property (nonatomic, readonly) NSUInteger nativeSDKVersion;   -> Build.SDK_INT
person Paul Beusterien    schedule 14.04.2014
comment
Даст ли это одинаковые результаты для Nexus 2012 и 2013? - person Dima Portenko; 14.04.2014
comment
Если nativeModel не дает другой строки, то nativeProduct может. Смотрите обновленный ответ - person Paul Beusterien; 14.04.2014