我正在使用 org.apache.cordova.device
插件。我看到 device.name
has been deprecated前段时间支持 device.model
。在 iPhone 5S 上使用设备插件 0.2.12 和 iOS 8.1 时,device.name
是 undefined
。
我仍然需要获取用户的设备名称,例如“Jerry 的 iPhone”,以便用户可以看到他们的哪些设备正在使用我的应用程序。如何使用 Cordova 做到这一点?
最佳答案
您最好的选择可能是修改设备插件(会带来所有不良后果)。我能够通过将以下行添加到 ./cordova/platforms/ios/[project name]/Plugins/org.apache.cordova.device/CDVDevice 中的
:deviceProperties
来获取设备名称.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
可能已被弃用并从插件中删除,但分配的 name
仍然是 iOS SDK 8.1 支持的属性 documentation .
关于ios - 如何使用 Cordova 获取 iOS 用户设置的设备名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573944/