プロパティが iOS SDK 6.0 でプライベートになるため、Apple は [UIDevice uniqueIdentifier] を使用するアプリ ストアにアプリケーションを追加することを許可しません。
代替案は何ですか?
プロパティが iOS SDK 6.0 でプライベートになるため、Apple は [UIDevice uniqueIdentifier] を使用するアプリ ストアにアプリケーションを追加することを許可しません。
代替案は何ですか?
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
- (NSString*)deviceId {
NSString *udidString;
if (SYSTEM_VERSION_LESS_THAN(@"6.0")) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
udidString = [defaults objectForKey:@"udidKey"];
if (!udidString) {
CFUUIDRef identifierObject = CFUUIDCreate(kCFAllocatorDefault);
// Convert the CFUUID to a string
udidString = (NSString *)CFUUIDCreateString(kCFAllocatorDefault, identifierObject);
[defaults setObject:udidString forKey:@"udidKey"];
[defaults synchronize];
CFRelease((CFTypeRef) identifierObject);
}
} else {
udidString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
}
return udidString;
}
行に警告が表示される場合: udidString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
Xcode SDK が6.0 未満であることを意味します
( Xcode 4.3には iOS SDK 5.1 が含まれ、Xcode 4.5には iOS SDK 6.0 が含まれます)
Xcode iOS SDK を更新するには:
現在の Xcode バージョンを維持したい場合:
newestXcode.app /Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
に
oldXcode.app /Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
古い Xcode を再度開くと、それだけです。