我们的 iOS 应用程序适用于特定用户。因此,我们使用设备唯一标识符进行用户识别。这种方法在 iOS 6 之前都可以正常工作,因为我们每次都得到相同的值。
NSString *strUniqueIdentifier = [[UIDevice currentDevice] uniqueIdentifier];
在 iOS 7 中,上述方法返回不同的值,我们遇到了用户识别问题。iOS 7 提供了以下替代.
NSUUID *oNSUUID = [[UIDevice currentDevice] identifierForVendor];
[strApplicationUUID setString:[oNSUUID UUIDString]];
我们替换uniqueIdentifier
为identifierForVendor
,并创建了一个 Ad-hoc 构建。然后,我们在 iOS 7 和 iOS 6 设备上安装了构建。到目前为止,在 iOS 7 中,我们每次都获得相同的值,但 iOS 6每次删除和重新安装应用程序时都会给出不同的值。