是否有UDID的替代方案.我的应用程序不会进入App Store,因为我正在使用企业分发.那么有没有替代品.我绑定了广告标识符,打开udid,UIID和安全UDID.但如果手机重置,那么我将获得一个新的UDID.任何帮助,将不胜感激.
Nit*_*hel 16
对于6.0以上的iOS,您可以使用identifierForVendor或CFUUIDRef.
-(NSString*)uniqID
{
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:@"identifierForVendor"];
if( !uniqueIdentifier ) {
CFUUIDRef uuid = CFUUIDCreate(NULL);
uniqueIdentifier = ( NSString*)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
[[NSUserDefaults standardUserDefaults] setObject:uniqueIdentifier forKey:@"identifierForVendor"];
}
}
return uniqueIdentifier;
}//
Run Code Online (Sandbox Code Playgroud)
UPDATE
作为Leon Lucardie评论他是对的
在卸载/重新安装应用程序后,identifierForVendor将会更改.请参阅此处在iOS设备上安装app(或来自同一供应商的其他应用程序)时,此属性中的值保持不变.当用户从设备中删除所有该供应商的应用程序并随后重新安装其中一个或多个应用程序时,该值会更改.
在尝试了所有可能的替代方案之后。广告标识符是最好的方法。当我测试时,即使手机重置后它仍然保持不变。如果用户在设置中将其关闭,那么我们会得到一个空值。除了这个故障之外,这是迄今为止最好的替代品。如果我找到其他更好的替代品,我会更新。
| 归档时间: |
|
| 查看次数: |
25159 次 |
| 最近记录: |