2014-10-26 2 views
3

Я использую плагин org.apache.cordova.device. Я вижу, что device.namehas been deprecated a назад назад в пользу device.model. При использовании плагина устройства 0.2.12 и iOS 8.1 на iPhone 5S, device.name - undefined.Как получить имя устройства с именем пользователя iOS с Cordova?

Мне все еще нужно получить имя устройства пользователя, например «iPhone от Jerry», чтобы пользователь мог видеть, какое из устройств использует мое приложение. Как это сделать с Кордовой?

+0

Умете ли вы эту работу? – sherb

ответ

3

Ваш лучший выбор может быть изменен плагином устройства (со всеми нежелательными последствиями). Я был в состоянии получить имя устройства, добавив следующую строку в deviceProperties в ./cordova/platforms/ios/[project имя] /Plugins/org.apache.cordova.device/CDVDevice.m:

- (NSDictionary*)deviceProperties 
{ 
    UIDevice* device = [UIDevice currentDevice]; 
    NSMutableDictionary* devProps = [NSMutableDictionary dictionaryWithCapacity:4]; 
    [devProps setObject:[device name] forKey:@"name"]; // <------------- new line 

Кроме того, необходимо настроить соответствующий объект Javascript в ./cordova/plugins/org.apache.cordova.device/www/device.js:

channel.onCordovaReady.subscribe(function() { 
    me.getInfo(function(info) { 
     me.name = info.name;    // <---------- new line 

device.name может быть устаревшим и удаляется из плагина, но присвоенный name по-прежнему является поддерживаемым атрибутом с SDK для iOS 8.1. documentation.