Jac*_*kin 67
注意:Apple将不再接受从2013年5月1日开始访问设备的UDID的应用.
相反,您必须使用新方法identifierForVendor
并advertisingIdentifier
在iOS 6+中访问它.有关详细信息,请参阅此处的相关帖
旧方式(已弃用并将导致App Store拒绝)
NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
Run Code Online (Sandbox Code Playgroud)
从iOS7开始,该uniqueIdentifier
物业已不再可用.
参见UIDevice
参考文献.
DZe*_*Bot 11
就像有些人说的那样,在iOS5中这已被弃用:
NSString *udid = [[UIDevice currentDevice] uniqueIdentifier];
Run Code Online (Sandbox Code Playgroud)
Apple现在有3个API来获取设备的UUID(通用唯一标识符):
备选方案1(NSUUID类):
NSString *udid = [[NSUUID UUID] UUIDString];
Run Code Online (Sandbox Code Playgroud)
备选方案2(UIDevice类):
NSString *udid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
Run Code Online (Sandbox Code Playgroud)
备选方案3(ASIdentifierManager类,需要AdSupport框架):
NSUUID *UUID = [[ASIdentifierManager sharedManager] advertisingIdentifier];
NSString *udid = [UUID UUIDString];
Run Code Online (Sandbox Code Playgroud)
但它们都是字母数字,而典型设备唯一标识符只是数字.因此,3个API是无用的,旧的[[UIDevice currentDevice] uniqueIdentifier]仍可在iOS6中运行,但需要多长时间?
如果"已弃用"警告错误,只需添加:
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
在IOS5及更高版本中,使用此命令查找UDID
NSString *uuidString = nil;
CFUUIDRef uuid = CFUUIDCreate(NULL);
if (uuid) {
uuidString = (__bridge NSString *)CFUUIDCreateString(NULL, uuid);
CFRelease(uuid);
}
NSLog(@"UDID: [%@]", uuidString);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
37739 次 |
最近记录: |