我安装了device.uuid
插件后,我的cordova应用程序使用device
,我仍然无法使用该属性,而且我的应用程序在我使用device.uuid的行上挂起。
答案 0 :(得分:2)
从iOS7开始,您无法再使用device.uuid
Apple无法跟踪设备。您必须使用广告ID,供应商ID或创建自己的唯一ID。
只需在PhoneGap
的开发者网站上添加此内容即可iOS的uuid并非一个设备唯一,但是每个都是唯一的 每次安装应用程序如果您删除应用程序,这将更改 重新安装,也可能在升级iOS版本时,或者 甚至可以升级每个版本的应用程序(正如我们在iOS 5.1中看到的那样)。不是 可靠的价值。
看起来PhoneGap / Cordova正在使用identifierForVendor
,kan有时会返回nil,你必须等待一段时间才能再次调用它。显然这在cordova中没有正确实现,导致你的应用程序挂起。
答案 1 :(得分:1)
在iOS 7上苹果删除了uniqueIdentifier
,device.uuid
是特定于手机屏幕的,并且内部未使用uniqueIdentifier
,因此您仍然可以使用它。
要在phonegap 3.X.X上使用device.uuid
,您必须先添加设备插件,如下所示:
cordova plugin add org.apache.cordova.device
它有效,因为我刚刚测试过它(在cordova 3.5.0上)。如果您安装了该插件并且它正在挂起您的应用程序,那么您的手机版本版本可能存在一些错误,或者该插件未正确安装。
device.uuid的问题在于,它不是真正的设备uuid,来自phonegap doc
iOS Quirk
iOS上的uuid并非设备独有,而是因各设备而异 应用程序,用于每个安装。如果你删除和它会改变 重新安装应用程序,也可能在升级iOS时,甚至是 每个版本升级应用程序(在iOS 5.1中显而易见)。 uuid不是 可靠的价值。
device.uuid
也没有使用identifierForVendor
,它只是设备上保留的随机标识符,但是如果你想获得真实的identifierForVendor
我已经创建了一个插件得到它。