ios - 如何使用 Cordova 获取 iOS 用户设置的设备名称?

标签 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”,以便用户可以看到他们的哪些设备正在使用我的应用程序。如何使用 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/

相关文章:

ios - 在应用程序中显示带有自定义 UINavigationBar 主题的 MFMailComposer 的白色 UINavigationBar

ios - 如何在 iOS 警报中显示表格

ios - Swift:更改 ViewController 时:前一个不会消失

ios - TouchMoved 方法被调用四到五次并且触摸被取消

android - Phonegap LocalStorage - 是否需要文件系统权限

cordova - www/index.html 想使用您当前的位置 - Ionic Framework

javascript - 当我 “Pull to refresh” 时,我如何清理缓存?使用 Ionic 框架和 AngularJS

javascript - 移动应用程序中的 Ghostclicks

javascript - Cordova cordova-plugin-qrscanner : Opaque camera view

ios - Cordova 相机从iOS上的库返回错误的照片