2014-10-26 120 views
3

我使用的是org.apache.cordova.device插件。我看到device.namehas been deprecated一会儿又回到device.model。在iPhone 5S上使用设备插件0.2.12和iOS 8.1时,device.nameundefined如何使用Cordova获取iOS用户设置的设备名称?

我仍然需要获取用户的设备名称,例如“Jerry's iPhone”,以便用户可以看到他们的哪些设备正在使用我的应用。如何用Cordova做到这一点?

+0

您是否能够正常工作? – sherb 2014-11-01 02:17:30

回答

3

你最好的选择可能是修改设备插件(带有所有不希望的后果)。我能够在./cordova/platforms/ios/[project名称] /Plugins/org.apache.cordova.device/CDVDevice.m添加以下行deviceProperties来获得设备名称:

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

您还需要调整./cordova/plugins/org.apache.cordova.device/www/device.js相应的JavaScript对象:

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

device.name可能已被弃用,从插件删除,但在iOS SDK 8.1 documentation中,分配的name仍然是受支持的属性。