0

iOS アプリケーションで Facebook SDK を使用しようとしていますが、

  1. SDK v6.0 で xcode 4.5.2 を使用しています
  2. 私のデバイスは iPod touch v6.0.1 です
  3. プロビジョニング プロファイル セットがあります
  4. Facebook 開発者として登録し、Facebook アプリを登録しました。
    • 「バンドルID」
    • 「「Facebook ログイン」を有効にしています。
    • ...
  5. 「URL タイプ」->「アイテム 0」->「URL スキーム」->「アイテム 0」の下の plist ファイルに facebook AppId を設定しました。

物理デバイスを使用している場合、私のアプリケーションは Facebook のログイン ページに切り替わりますが、ログインした後、アプリケーションに戻りません!!!
驚いたことに、シミュレーターを使用するとすべてがうまく機能し、私のアプリは Facebook のログイン ページとの間を行き来します。

私は何を間違っているのでしょうか?シミュレーターを使用しているときにログインした後、物理デバイスでアプリに戻れないのはなぜですか? これは何らかの形でプロビジョニング プロファイルに関連している可能性がありますか?

どんな助けでも大歓迎です。

4

3 に答える 3

1

最初の年に、私は同じ問題を抱えてHACKBOOKおり、あなたの問題と同じように例を使ってテストしています。私はシミュレーターでうまく実行できますが、デバイスでテストしたときに同じ問題が発生し、その次のコードを配置してうまく機能しました。

アプリのデリゲートにこのメソッドを追加するだけです。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [self.facebook handleOpenURL:url];
}

このメソッドは、fbApp または safari でのログインに役立ちます。Facebookのログインページからアプリにリダイレクトするため

于 2012-12-26T07:42:56.620 に答える
0

SDK の facebook.m クラスに移動し、次のメソッドを見つけます。

- (void)authorize:(NSArray *)permissions
         delegate:(id<FBSessionDelegate>)delegate

次に、最後の行を次のように置き換えます。[self authorizeWithFBAppAuth:YES safariAuth:YES];

この行で: [self authorizeWithFBAppAuth:YES safariAuth:NO;& check.

于 2012-12-26T07:45:42.023 に答える
0

問題は、基本クラスが 'applicationDidBecomeActive' と 'applicationWillTerminate' ('[FBSession.activeSession handleDidBecomeActive]' と '[self.session close]' が対応して呼び出される) を実装していたのに対し、継承クラスは同じメソッドを実装していなかったことです。ベース [スーパー] クラスの実装を呼び出します。

于 2012-12-26T12:20:25.680 に答える