我们的iOS应用是针对特定用户的。因此,我们使用设备唯一标识符进行用户识别。这种方法在iOS 6之前很好用,因为我们每次都得到相同的值。
NSString *strUniqueIdentifier = [[UIDevice currentDevice] uniqueIdentifier];
在iOS 7中,上述方法返回不同的值,并且我们在用户识别方面遇到了问题。 iOS 7 API提供以下替代方法。NSUUID *oNSUUID = [[UIDevice currentDevice] identifierForVendor];
[strApplicationUUID setString:[oNSUUID UUIDString]];
我将 "uniqueIdentifier" 替换为 "identifierForVendor",并创建了临时构建。在iOS 7和iOS 6设备上安装了构建。到目前为止,在iOS 7上每次都会得到相同的值,但是在iOS 6上,当我们删除并重新安装应用程序时,每次都会给出不同的值。
目前该应用程序在App Store上不可用。因此,我不确定此api如何适用于App Store构建。
问题: 1)对于App Store应用程序,“identifierForVendor”在iOS 7中每次返回相同的值吗?还是当用户在未来删除并重新安装应用程序时,它可能会发生变化? 2)iOS 7 api中是否有其他替代方法可以返回与iOS 6和7的相同值的“唯一标识符”? 3)其他建议......