GTM-Oauthライブラリを保存してoauthトークンをキーチェーンに保存するiPad(iOS 5以降)アプリを作成しました。認証トークンの存在に基づいて、ViewControllerでさまざまなアクションを実行します。
//Fetch the auth token from keychain
GTMOAuthAuthentication *auth = [self myCustomAuth];
//perform actions:
if (auth) {
BOOL didAuth = [GTMOAuthViewControllerTouch authorizeFromKeychainForName:@"My App: Custom Service" authentication:auth];
// if the auth object contains an access token, didAuth is now true
[self performSegueWithIdentifier..]
}
else {
//do something else
}
//The customAuth method:
- (GTMOAuthAuthentication *)myCustomAuth {
NSString *myConsumerKey = @"abcd"; // pre-registered with service
NSString *myConsumerSecret = @"efgh"; // pre-assigned by service
GTMOAuthAuthentication *auth;
auth = [[GTMOAuthAuthentication alloc] initWithSignatureMethod:kGTMOAuthSignatureMethodHMAC_SHA1
consumerKey:myConsumerKey
privateKey:myConsumerSecret] ;
// setting the service name lets us inspect the auth object later to know
// what service it is for
auth.serviceProvider = @"Custom Auth Service";
return auth;
}
開発プロファイルとアドホック配布プロファイルを使用してアプリをコード署名すると、セグエは正常に機能しますが(つまり、認証はキーチェーンに存在し、trueを返します)、アプリストア配布プロファイルを使用すると機能しません。バグ」。
次のコマンド(Appleドキュメントから)を使用して、appstoreプロファイルの資格を確認しました。
security cms -D -i /path/to/the.app/embedded.mobileprovision
資格の下で、私は見ることができます:
<key>keychain-access-groups</key>
<array>
<string>{My Bundle seed identifier}.*</string>
</array>
誰かが私に何が問題である可能性があるか、そして私のアプリストアビルドでキーチェーンアクセスを確実にする方法を教えてもらえますか?