0

请不要将此标记为重复。这个问题是关于Simperium以及它处理 uniqueIdentifier 和 identifierForVendor 的方式。

Simperium 仍在 Simperium.m 中使用 [[UIDevice currentDevice] uniqueIdentifier] 。这已被弃用,Apple 现在完全拒绝使用该调用的应用程序。

我正在尝试, [[[UIDevice] currentDevice] identifierForVendor] UUIDString]; 但我不确定这样做是否会有任何问题。

你说什么?

最好的,

4

3 回答 3

0

根据 Apple 文件identifierForVendor可以在 iOS 6.0 及更高版本中使用,因此使用没有问题identifierForVendor

于 2013-05-17T06:25:10.787 回答
0

它应该工作。因为他们说

“虽然您可能已从您的应用程序中删除了对 UDID 的访问和使用,但无效的二进制消息表明您的应用程序使用或访问了 UDID。请检查您的源代码中是否出现任何 “uniqueIdentifier”方法;这是返回设备的 UDID。”

所以只需要使用“ uniqueIdentifier ”方法即可。

谢谢

于 2013-05-17T06:34:31.313 回答
0

您还可以使用此方法为您的应用获取唯一标识符。

- (NSString *)createUUID{

NSString *uIdentifier = [[NSUserDefaults standardUserDefaults] objectForKey:@"Unique identifier for test"];

if (!uIdentifier) {

    CFUUIDRef uuidRef = CFUUIDCreate(NULL);

    CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);

    CFRelease(uuidRef);

    uIdentifier = [NSString stringWithString:(NSString *)CFBridgingRelease(uuidStringRef)];

    [[NSUserDefaults standardUserDefaults] setObject:uIdentifier forKey:@"Unique identifier for test"];

    [[NSUserDefaults standardUserDefaults] synchronize];

}

return uIdentifier;

}

于 2013-05-17T06:38:28.613 回答