1

iOSで初めてFirebaseをセットアップしていますが、Facebook認証セットアップでのシンプルログインに問題があるようです。

問題

私はこれをシミュレーターで実行しています-シミュレーターにはFacebookアプリまたはFacebook統合がないため、これは私の問題である可能性がありますか?しかし、私は現在AppleDeveloperアカウントを持っていません。

これにより、FacebookアプリでFacebook認証ビューがトリガーされると思います。アプリがデバイスにインストールされていない場合は、Safariに切り替えて通常の認証ページを使用しますが、何も起こりません。

設定

私が理解している限り、これらはそれを実行するための最小要件です。

  1. Facebookアプリ:
    • FacebookログインURLが次のように定義されているウェブサイト:https ://auth.firebase.com/auth/facebook/callback
    • XCodeプロジェクトターゲットサマリーのバンドル識別子と一致するネイティブiOSアプリバンドルID
  2. iOSプロジェクト:
    • バイナリをライブラリにリンクする:
      • Firebase.framework
      • Foundation.framework(明らかに... :))
      • libicucore.lib
      • Security.framework
      • CFNetwork.framework
      • FirebaseAuthClient.framework
      • Accounts.framework
      • Social.framework
    • -その他のリンカーフラグの下のObjC
    • バンドル識別子とFacebookアプリのバンドルIDの照合
  3. FacebookアプリIDとアプリシークレットがFirebaseForgeの認証に追加されました

ここで私のFacebookアプリのセットアップを表示します(スクリーンショット): http: //flashpatric.com/wp-content/uploads/2013/03/facebookSetup.png

コード:

Firebase* ref = [[Firebase alloc] initWithUrl:@"https://xxx.firebaseio.com"];
FirebaseAuthClient* authClient = [[FirebaseAuthClient alloc] initWithRef:ref];

[authClient loginToFacebookAppWithId:@"xxx-facebook-app-id-xxx" permissions:@[@"email"] withCompletionBlock:^(NSError *error, FAUser *user) {
    if (error != nil) {
        // There was an error logging in
        NSLog(@"There was an error logging in: code = %d", [error code]);
        NSLog(@"%@", error);
    } else {
        // We have a logged in facebook user
        NSLog(@"We have a logged in facebook user: %@",user);
    }
}];

[authClient checkAuthStatusWithBlock:^(NSError* error, FAUser* user) {
    if (error != nil) {
        NSLog(@"Oh no! There was an error performing the check %@",error);
    } else if (user == nil) {
        NSLog(@"No user is logged in");
    } else {
        NSLog(@"There is a logged in user %@",user);
    }
}];

出力:

2013-03-27 11:10:08.900 firebase[18729:1303] There was an error logging in: code = 6
2013-03-27 11:10:08.905 firebase[18729:1303] Error Domain=com.apple.accounts Code=6 The operation couldn’t be completed. (com.apple.accounts error 6.)
2013-03-27 11:10:08.924 firebase[18729:c07] No user is logged in

OK、ここで明らかな何かが欠けていますか、それとも私の問題はiOSシミュレーターの問題だけですか?

4

1 に答える 1

2

Facebook認証を使用するには、いくつか必要なものがあります。これは、シミュレーターで機能するはずです。

  1. Facebookでのアプリのセットアップ。すでにこれを持っているようですね
  2. シミュレーターでのFacebookアカウントの設定。現在、FirebaseAuthClientはFacebookアプリと対話せず、iOSに組み込まれているネイティブのFacebook統合を使用するだけです。
  3. FirebaseAuthClientの最新バージョンを使用していることを確認してください。現在のところ、1.0.1であり、 https://www.firebase.com/docs/downloads.htmlから入手できます。
  4. ForgeでFacebook認証が有効になっていることを確認してください。あなたの説明から、あなたはすでにこれを行ったように見えます。

私の推測では、発生しているエラーから、ステップ2が欠落していると思います。シミュレーターで、[設定]-> [Facebook]に移動し、アカウントにログインします。

于 2013-03-27T16:24:00.440 に答える