我们的iOS应用程序是为特定用户设计的。因此,我们使用设备唯一标识符来进行用户身份验证。这种方法在iOS 6之前工作得很好,因为我们每次都得到相同的值。
NSString *strUniqueIdentifier = [[UIDevice currentDevice] uniqueIdentifier];
在iOS 7中,上述方法返回不同的值,导致用户识别出现问题。iOS 7提供了以下替代方案。NSUUID *oNSUUID = [[UIDevice currentDevice] identifierForVendor];
[strApplicationUUID setString:[oNSUUID UUIDString]];
我们用identifierForVendor
替换了uniqueIdentifier
,并创建了一个Ad-hoc版本。然后我们在iOS 7和iOS 6设备上安装了该版本。到目前为止,在iOS 7中,我们每次都得到相同的值,但是在iOS 6中,每次卸载并重新安装应用程序时会得到不同的值。