デバイスの UUID を使用することは許可されていませんが、独自の UUID を生成してデバイスの UserDefaults に保存することはできます。
identifierForVendor の使用は 100% 信頼できるわけではありません。これは iOS6 以降でのみ機能し、ユーザーはそれを提供しないようにオプトアウトできるため、これは悪い選択です。
これは、私がインターネットからコピーしたいくつかのコードで、今日までそれを使用しています。ソースを見つけて、私の答えを少し更新しようとします。編集:ソース
これにより、UUID が生成され、UserDefaults に保存されます。
- (NSString *)createUUID
{
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
[[NSUserDefaults standardUserDefaults] setObject:(__bridge NSString *)string forKey:@"UUID"];
[[NSUSerDefaults standardUserDefaults] synchronize];
return (__bridge NSString *)string;
}
そして、生成された UUID を読み取る必要があるときはいつでも:
- (NSString*)UUID
{
return [[NSUserDefaults standardUserDefaults] ObjectForKey:@"UUID"];
}
これで、自分のユーザーの ID を追加することもできるので、どの UUID がどのユーザーにリンクされているかを知ることができます..
これは、それがどのように機能するかの大まかなスケッチです