1

SSKeychain を使用して iOS で UUID を予約しようとしました

サンプルコードは以下のとおりです

NSString *retrieveuuid = [SSKeychain passwordForService:@"tempApp" account:@"tempUser"];
if (retrieveuuid == nil) {
    //Generate UUID
    CFUUIDRef cfuud = CFUUIDCreate(kCFAllocatorDefault);
    NSString *uuid = CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, cfuuid));
    //save in keychain
    [SSKeychain setPassword:uuid forService:@"tempApp" account:@"tempUser"];
    return uuid;
} else {
    return retrieveuuid;
}

私の質問は、最初のアプリを実行してから UUID を生成し、同じパラメーターを持つ 2 番目のアプリを実行して、取得した uuid が null にならないようにすることです。なぜ 2 番目のアプリが別の UUID を返すのでしょうか? App1 のキーチェーンに UUID を保存し、App2 の同じパラメーターで取得しようとしたため、最初のアプリと同じ UUID が返されると思います。

手伝ってくれてありがとう

4

1 に答える 1

0

UUID は Universally Unique Identifier です。2 つの異なるアプリで同じ結果が得られたとしたら、ばかげていると思いませんか? ;)

アプリ間でキーチェーンを共有する場合は、次の質問を参照してください: iOS アプリケーション間でキーチェーン データを共有する方法

于 2013-12-13T08:00:49.563 に答える