gpt4 book ai didi

ios - 供应商标识符在 iOS 5.0 版中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:17:48 25 4
gpt4 key购买 nike

我正在使用供应商标识符,因为不推荐使用 UDID,但在使用此应用程序后,它无法在 iOS 版本低于 6.0 的设备上运行。谁能告诉我需要做什么?该应用程序是否仅在 iOS 6.0 及更高版本中受支持?如何让我的应用程序在 iOS 版本低于 6.0 的设备上运行?下面是我正在使用的代码:

static NSString *uniqueIdentifier = nil;
id vendorIdObject = [[UIDevice currentDevice] identifierForVendor];
uniqueIdentifier = [vendorIdObject UUIDString];

最佳答案

您可以这样做(注意,返回的标识符未绑定(bind)到设备,如果用户删除并重新安装应用程序,标识符将会更改):

NSString* uniqueIdentifier = nil;
if( [UIDevice instancesRespondToSelector:@selector(identifierForVendor)] ) {
// iOS 6+
uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
// before iOS 6, so just generate an identifier and store it
uniqueIdentifier = [[NSUserDefaults standardUserDefaults] objectForKey:@"identiferForVendor"];
if( !uniqueIdentifier ) {
CFUUIDRef uuid = CFUUIDCreate(NULL);
uniqueIdentifier = (__bridge_transfer NSString*)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
[[NSUserDefaults standardUserDefaults] setObject:uniqueIdentifier forKey:@"identifierForVendor"];
}
}

这将生成一个 iOS-6 之前的标识符并将其存储在默认值中,以便它通常是相同的标识符。如果您有一个钥匙串(keychain)组和一套应用需要以类似于 identifierForVendor 的方式使用标识符,您可以将其存储在钥匙串(keychain)中而不是用户默认值中。

关于ios - 供应商标识符在 iOS 5.0 版中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17312927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com