1

2 つの iOS アプリケーション (アプリ "A" とアプリ "B") があり、ユーザーが既にログインしている場合、アプリ "A" に保存されているログイン データを使用してアプリ "B" にアクセスできるようにする必要があります。アプリ「A」。

私が行ったことは、SSKeyChain ライブラリを使用して、アプリ「A」のログイン データをキーチェーンに格納することです。このようなもの:

[SSKeychain setPassword:password forService:@"appA" account:username error:&error];

そして、アプリ「B」では、このデータを次のように取得しています。

NSError *error;
NSArray *accounts = [SSKeychain accountsForService:@"appA" error:&error];

if (accounts.count > 0)
{
 // alert to the user
}

これはシミュレーターでは完璧に機能していますが、私の iPhone では機能しません。

また、すでにこの行を didFinishLaunchingWithOptions メソッドに追加しました。

[SSKeychain setAccessibilityType:kSecAttrAccessibleAlways];

何か不足していますか?

4

1 に答える 1

0

キーチェーンは、パスワード、証明書、ID などの安全な情報を保存できる暗号化されたコンテナーです。iOS では、各アプリケーションに独自のキーチェーンがあります。アプリ間でデータを共有するには、コード署名資格で同じアクセス グループが必要です。

このチュートリアルをチェックしてください

SSKeychain はアクセス グループリンクをサポートしていないようです

おそらくSGKeychainを使用してみることができます

于 2015-07-01T12:08:03.780 に答える