如何使用Cordova获取iOS用户设备名称?

时间:2014-10-26 14:19:16

标签: ios cordova cordova-plugins

我正在使用org.apache.cordova.device插件。我看到device.name has been deprecated有一段时间回到了device.model。在iPhone 5S上使用设备插件0.2.12和iOS 8.1时,device.nameundefined

我仍然需要获取用户的设备名称,例如“Jerry的iPhone”,以便用户可以看到他们的设备正在使用我的应用程序。科尔多瓦怎么做?

2 个答案:

答案 0 :(得分:4)

您最好的选择可能是修改设备插件(带来所有不良后果)。我可以通过在deviceProperties中向./cordova/platforms/ios/[project name]/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

您还需要在./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仍然是受支持的属性。

答案 1 :(得分:0)

设备插件不支持该名称,但是还有另一个插件可以:

https://github.com/becvert/cordova-plugin-device-name