Appleが2013年5月には、これはの代替であるユーザーの行動を追跡するために
をUDIDを使用するアプリケーションを拒否することを開始することを発表しました。 UDID:あなたはのUIApplication、UIDeviceのカテゴリを作成することができますか、この(ARC例)のようにprefereとして
@interface UIApplication (utilities)
- (NSString*)getUUID;
@end
@implementation UIApplication (utilities)
- (NSString*)getUUID {
NSUserDefaults *standardUserDefault = [NSUserDefaults standardUserDefaults];
static NSString *uuid = nil;
// try to get the NSUserDefault identifier if exist
if (uuid == nil) {
uuid = [standardUserDefault objectForKey:@"UniversalUniqueIdentifier"];
}
// if there is not NSUserDefault identifier generate one and store it
if (uuid == nil) {
uuid = UUID();
[standardUserDefault setObject:uuid forKey:@"UniversalUniqueIdentifier"];
[standardUserDefault synchronize];
}
return uuid;
}
@end
UUID()この関数
NSString* UUID() {
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
return (__bridge NSString *)uuidStringRef;
}
でこのアプリケーションがそれを必要とするたびにNSUserDefaultに記憶された固有の識別子が再利用されるように生成する - この識別子はするアプリケーションに関連する固有のデバイスにしないインストールされますが、使用することができます数デバイスに関するトレースを取るために、たとえばあなたがこの方法でそれを使用することができ、その後...など
をAPNサービスを加入:
NSString *uuid = [[UIApplication sharedApplication] getUUID];
はどこでこのGUIDを取得するのですか?どのようなAPIですか? –
私は、「合法ですか?」とはどういう意味なのかよく分かりません。 – NotMe
私はあなたがその装置ではなく、そのユーザーを特定することをお勧めします。ユーザーはデバイスを変更できます。 ;-) –