im 收到以下代码的错误和警告:
- 在第一个 if 语句中警告未声明的选择器唯一标识符;
- 错误属性唯一标识符在 UIDevice 类型的对象上找不到
- C 指针类型 CFStringRef 的错误转换
获取用户设备型号、显示名称、唯一 ID、令牌和版本号
UIDevice *dev = [UIDevice currentDevice];
NSString *deviceUuid;
if ([dev respondsToSelector:@selector(uniqueIdentifier)]) // Warning #1
deviceUuid = dev.uniqueIdentifier; // Error #1
else {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
id uuid = [defaults objectForKey:@"deviceUuid"];
if (uuid)
deviceUuid = (NSString *)uuid;
else {
CFStringRef cfUuid = CFUUIDCreateString(NULL, CFUUIDCreate(NULL));
deviceUuid = (NSString *)cfUuid; // Error #2
CFRelease(cfUuid);
[defaults setObject:deviceUuid forKey:@"deviceUuid"];
}
}
UIDevice uniqueIdentifier
属性在 iOS 5 及更高版本中已弃用
udid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSLog(@"UDID : %@", udid);
- 必须创建具有名称 uniqueIdentifier 的方法
- UIDevice 没有一个名为 uniqueIdentifier 的属性。看到这个答案。
- 看看这个答案。