UUIDString的identifierForVendor返回null

我已经在我的iPhone应用程序中实现了推送通知,并在设备注册中使用了应用程序中的以下代码。

[[[UIDevice currentDevice] identifierForVendor] UUIDString];

以上代码在大多数设备中都能正常工作。 但是,最近在iOS 7.1的某些iPhone 5s设备上,它返回null,并且由于此应用程序崩溃。


根据Apple文档

如果该值为零,请稍后等待并重新获取该值。 例如,在设备重新启动之后但用户解锁设备之前,会发生这种情况

你可以在这里阅读:UIDevice

我们在应用程序中遇到了同样的情况,我们最终使用的是

[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]

这里是它的参考:ASIdentifierManager

根据经验,在重新安装在同一设备上时,标识符保持不变。 我没有发现它改变时的模式,但它的确如... identifierForVendor一样。


由于这是一个老问题,我也面临同样的问题。所以我觉得在这里为其他人回答,如果他们遇到这个问题。

NSString *uid=[[UIDevice currentDevice] uniqueIdentifier];
NSLog(@"udd:%@",uid);
链接地址: http://www.djcxy.com/p/78501.html

上一篇: identifierForVendor for UUIDString returns null

下一篇: Is garbage collection automatic in standard C++?