0

オンラインデータベースへのアクセスに使用できるように、UUID の非推奨の方法の代替手段を使用して一意のキーをキーチェーンに保存しようとしています。

私はこれをやっています:

            CFUUIDRef uuid = CFUUIDCreate(NULL);
            CFStringRef generatedUUIDString = CFUUIDCreateString(NULL, uuid);
            CFRelease(uuid);
            NSString* hashKey = [(NSString*)generatedUUIDString autorelease];

            KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyGAME" accessGroup:nil];
            [keychainItem setObject:hashKey forKey:(id)kSecValueData];

            NSLog(@"%@", [keychainItem objectForKey:(id)kSecValueData]);

            [keychainItem release];

しかし、キーチェーンからキーを取得すると、毎回新しい値が返されます。KeychainItemWrapper を使用しています。以下のメソッドを呼び出すたびに、ハッシュキーは同じであるべきではありませんか? ここで私が間違っていることは何ですか?

ありがとう :)

4

1 に答える 1

1

に保存する必要があります。NSUserDefaults

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:UUID forKey:@"UUID"];

アプリが起動するたびに、既に存在するかどうかを確認します。

if([defaults objectForKey:@"UUID"]){...}
于 2012-08-16T15:04:26.673 に答える