【发布时间】:2013-09-25 03:39:32
【问题描述】:
Apple 建议使用 [UIDevice currentDevice].identifierForVendor。每次在 iOS 模拟器中运行他们的应用程序时,这个值都会改变。
我的应用程序中的初始功能要求我将设备识别为一种轻度身份验证形式。这使得开发变得乏味,理想情况下我可以在调试/运行会话中保持一个独特的价值。有什么建议可以做到这一点吗?
【问题讨论】:
标签: ios cocoa-touch ios-simulator
Apple 建议使用 [UIDevice currentDevice].identifierForVendor。每次在 iOS 模拟器中运行他们的应用程序时,这个值都会改变。
我的应用程序中的初始功能要求我将设备识别为一种轻度身份验证形式。这使得开发变得乏味,理想情况下我可以在调试/运行会话中保持一个独特的价值。有什么建议可以做到这一点吗?
【问题讨论】:
标签: ios cocoa-touch ios-simulator
很漂亮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 字符串。
【讨论】: