Apple建议使用[UIDevice currentDevice] .identifierForVendor.每次在iOS模拟器中运行应用程序时,其值都会发生变化.
我的应用程序中的初始功能要求我将设备识别为一种轻型身份验证.这使得开发变得乏味,理想情况下,我可以在调试/运行会话中保持唯一的值.有没有建议来完成这个?
解决方法
在模拟器中构建和运行时,这个值将会改变.在真实的设备上,只有当用户从设备中删除所有应用并重新安装应用时,才会更改.
如果您希望模拟器应用程序在开发期间使用一致的标识符,您可以定义该UUID,并将其用于模拟器构建:
NSUUID *devId; #if TARGET_IPHONE_SIMULATOR devId = [NSUUID initWithUUIDString:@"SOME-STATIC-UUID-STRING"]; #else devId = [UIDevice currentDevice].identifierForVendor; #endif
请注意,您需要用真实的UUID字符串替换SOME-STATIC-UUID-STRING.