2015-05-04 79 views
0

我有一个HTML/JS/CSS应用程序,我希望使用phonegap将其转换为ios应用程序。在我的应用程序中,我需要唯一标识每个设备。从iOS 7开始,Apple不接受获取UDID的应用程序。我想为ios4 +达到最新。我看到一个插件列在https://build.phonegap.com/plugins/1112。与这个插件有关的另外一个问题是,如果我使用一个依赖钥匙串的插件,那么风险因素是什么,即钥匙串在哪种情况下重置或清除?ios的唯一设备标识

回答

1

根据Cordova documentation这里获取设备UUID

var string = device.uuid; 

注意,针对iOS的设备的UUID是从每个应用程序不同的方式。此UUID在您的应用第一次运行时创建,并在您删除并重新安装应用时发生变化。

iOS Quirk

iOS上的uuid使用identifierForVendor财产。它对于同一供应商的设备来说是独一无二的,但对于不同的供应商会有所不同,并且如果来自供应商的所有应用程序都被删除然后重新安装,则会发生变化。如果应用程序从备份或iCloud中恢复,UUID将保存在首选项中。使用此插件的旧版本的用户仍然会收到与通过其他方式生成的相同的先前UUID,因为它将从首选项中检索。

0

每迅速,我已经做了最新的方法是:

var vendorDeviceId = UIDevice.currentDevice().identifierForVendor.UUIDString 

这是正确的,UUID是现在每个应用独特的安装,而不是设备。如果用户重新安装应用程序,他将被分配一个新的唯一标识符(与上一个不同)。

+0

是我,或者它也发生在IOS更新自己... – DarkNeuron

2

本地标识符这是不常见的方式,但它可能会有所帮助。

您可以使用服务http://get.udid.io来获取设备的真实UDID。

这里是回购与例如使用的https://github.com/vladignatyev/udidio-example

+1

顺便说一句,现在UDID.io具有用于连接第三partiy服务API。看看https://github.com/vladignatyev/udidio-example –