我应该如何在开发过程中使用identifierForVendor?

时间:2013-09-19 21:19:27

标签: ios cocoa-touch ios-simulator

Apple建议使用[UIDevice currentDevice] .identifierForVendor。每次在iOS模拟器中运行应用程序时,此值都会更改。

我的应用程序中的初始功能要求我将设备识别为轻型身份验证的一种形式。这使得开发变得乏味,理想情况下我可以在调试/运行会话中保持唯一的值。是否有任何建议来实现这一目标?

1 个答案:

答案 0 :(得分:19)

在模拟器中构建和运行时,此值会发生变化clearly documented。在真实设备上,只有当用户从其设备中删除所有应用并重新安装应用时,它才会发生变化。

如果您希望模拟器应用程序在开发期间使用一致的标识符,您可以定义该UUID并仅将其用于模拟器构建:

NSUUID *devId;
#if TARGET_IPHONE_SIMULATOR
devId = [NSUUID initWithUUIDString:@"SOME-STATIC-UUID-STRING"];
#else
devId = [UIDevice currentDevice].identifierForVendor;
#endif

请注意,您需要将SOME-STATIC-UUID-STRING替换为真实的UUID字符串。