是" identifierForVendor"会在iOS或xCode更新时更改吗?

时间:2016-05-02 07:39:41

标签: ios objective-c iphone xcode ipad

我一直在应用程序中工作,这个应用程序需要使用一个唯一的ID来负责连接服务器以进行同步。如果此ID将更改,我的应用程序将丢失连接,所有重要数据都将丢失。

现在我正在使用" identifierForVendor"但这在某些情况下似乎没用。它在某种情况下发生了变化,我在下面提到请检查并提出一些建议来克服这个问题。

"identifierForVendor" getting changed in the condition:

1) Delete app and then reinstalled again using different vendor (always).
2) Delete app and then reinstalled again using even same vendor (random).
3) iOS and xCode update (xCode-7.3/iOS-9.3)(not sure about frequency but on my last update its changed).

请帮帮我。

1 个答案:

答案 0 :(得分:1)

是的,identifierForVendor在某些情况下可能会发生变化。

因此,您可以使用SSKeychain将您的unique ID存储在KeyChain中。

SSKeychain.h, SSKeychain.m, SSKeychainQuery.h and SSKeychainQuery.m个文件导入您的项目。

添加Security.framework

保存唯一ID:

[SSKeychain setPassword:@"AnyID" forService:@"AnyService" account:@"AnyUser"]

检索唯一ID:

NSString *UniqueID = [SSKeychain passwordForService:@"AnyService" account:@"AnyUser"];

编辑(正如DarkDust建议的那样):

下载SSKeychainhttps://github.com/soffes/SSKeychain