根据apple文档,有时会发现方法[ASIdentifierManager sharedManager].advertisingIdentifier
可以返回nil
值,我真的需要在我的应用中使用此值:
如果值为nil,请稍后再次获取该值。有时候是这样的, 例如,在设备重新启动之后但在用户之前 已解锁设备。
我应该等多久?在这种情况下我应该采用什么方法?也许继续尝试获取advertisingIdentifier,直到它可用?或者我应该告诉用户尝试重新启动应用程序?有什么想法吗?
感谢。
答案 0 :(得分:0)
您应手动创建UUID,并将其保存在首选项中。
NSString *UUID = [[NSUserDefaults standardUserDefaults] objectForKey:kApplicationUUIDKey];
if (!UUID) {
CFUUIDRef uuid = CFUUIDCreate(NULL);
UUID = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
[[NSUserDefaults standardUserDefaults] setObject:UUID forKey:kApplicationUUIDKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
答案 1 :(得分:0)
当用户使用受保护的文件解锁手机并收听applicationProtectedDataDidBecomeAvailable
时,您可以有效地收到通知