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

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

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

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

如果您希望模拟器应用程序在开发期间使用一致的标识符,您可以定义该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字符串。