4

iOS バージョン 6 以降の iPhone のネイティブ設定からFacebook経由でのログインに ACAccountStore を使用しています。ログインのために、私は以下のような許可を求めました:

[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error)

共有には同じアカウントを使いたいです。そして共有するために、私は以下のようなコードを使用しました:

if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])

しかし、ログイン後、設定を介して共有する前に許可が拒否された場合、そのアカウントのアクセスを再度取得する方法は?

もう一度リクエストを行うと、再度アクセス許可のアラートが表示されます。

その Facebook アカウントへのアカウント アクセスが必要なだけです。

誰でも答えられますか?前もって感謝します。(:

4

2 に答える 2

2
    ACAccountStore *accountStore = [[ACAccountStore alloc] init] ;

    ACAccountType *facebookAccountType =  [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

    NSLog(@"ACCESS %d",facebookAccountType.accessGranted);
    if(facebookAccountType.accessGranted)
    {
       NSLog (@"You are already granted accees").
    }

上記のコード行を使用すると、ユーザーが Facebook へのアクセスを既に許可しているかどうかを知ることができます。

于 2016-07-25T07:18:25.170 に答える
0

設定によってアクセスが取り消された場合、ユーザーはアプリにアカウントへのアクセスを許可したくないと思います。

プライバシー保護のあるサービスと対話するための一般的なアドバイスとして (位置情報サービスなどにも適用されます): それらを求め、ユーザーが許可を与える場合はそれらを使用します。それ以外の場合は、ユーザーの決定を尊重し、再度許可を求めないでください。

アプリが適切に動作するために絶対にサービスが必要な場合は、ユーザーがその特定の機能を使用しようとしたときに警告し、アプリがその特定の許可を必要とする理由を説明できます。

このアプローチは、Apple のドキュメント全体のいくつかの場所で概説されています。

于 2013-07-09T12:01:58.777 に答える