2

私は iPhone アプリケーションに取り組んでおり、その一部は Facebook の統合に依存しています。SDK のバージョン 3.1 を Web サイトからダウンロードし、次のリンクにある最初のチュートリアルに従いました: Authenticate

iPhone 4 と Xcode 4.5 で iOS 6.0.1 を使用しています。

ログインは正常に機能しますが、基本的なユーザー情報を要求するためにここの手順に従うと、アプリケーションで次のエラーが発生します。

2013-01-01 23:13:57.966 AppName[8691:907] Error: HTTP status code: 400
2013-01-01 23:13:57.977 AppName[8691:907] FBSDKLog: Response <#1111> <Error>:
The operation couldn’t be completed. (com.facebook.sdk error 5.)

これは、情報を要求するために使用しているコードです。

if (FBSession.activeSession.isOpen) {
    [FBSettings setLoggingBehavior:[NSSet setWithObjects:
                                    FBLoggingBehaviorFBRequests, nil]];

    [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection,
                                                           NSDictionary<FBGraphUser> *aUser,
                                                           NSError *error) {
        if (!error) {
            NSLog(@"%@", [[FBSession activeSession] accessToken]);
            userProfileImage.profileID = aUser.id;

            self.user = [[User alloc] initWithName:aUser.name andLocation:[aUser.location objectForKey:@"name"]];
            [self.user saveUser];
            [nameTextField setText:[self.user getName]];
            [locationTextField setText:[self.user getLocation]];
        }
    }];
}

奇妙な部分は、FBRequest がシミュレーターで機能することです。アクセストークンを確認したところ、iPhoneでも取得できました。

もう 1 つ重要なことがあります。シミュレーターでは、アプリケーションは認証される Facebook Web サイトにリダイレクトされます (Facebook のアプリ リストで確認できます)。一方、デバイスからログインすると、最初のログイン時に標準アラートのみが表示され、アプリは Facebook に追加されません。

PS: これは私の最初の質問なので、情報の量 (または不足) についてお詫び申し上げます。助けてくれてありがとう!

4

1 に答える 1

0

ここ数日間、これに対する答えを求めて必死に Google を探していましたが、答えが見つかりませんでした。必ずしもバグ自体のせいではなく、非常に多くの人がバグを持っていたにもかかわらず、実際の回答がほとんどなかったために、非常に動揺しました。

エラーは許可の問題のようです。iOS 6 からログインし、Facebook からアプリを削除すると、デバイスはまだアプリの承認を与えたと見なし、エラーを返します。私が見つけた最良の答えはここでした。

今日、最初にシミュレーターを試さずにデバイスにアプリを再度ロードした後、それは魅力的に機能しました。同じ問題が発生した場合の私のアドバイスは、しばらく他のコードに取り組み、翌日もう一度やり直すことです。これは完璧な解決策ではなく、Apple/Facebook はそれを修正する必要があると思いますが、うまくいきます。

于 2013-01-02T11:56:29.723 に答える