0

IOS 5 アプリに facebook SDK を使用しようとしているのですが、IOS 6 が UIActivityViewController で動作しています。

このコードを使用してログインボタンを表示します

            loginview = [[FBLoginView alloc] init];

        loginview.frame = CGRectOffset(loginview.frame, 65, 50);
        [loginview setDelegate:self];   
        loginview.publishPermissions = @[@"publish_actions"];
        loginview.defaultAudience = FBSessionDefaultAudienceFriends;

        [self.view addSubview:loginview];

ボタンが適切に表示されます。クリックするとサファリが開き、アプリに許可を与えるように求められます。[はい] をクリックすると、アプリに戻りますが、ボタンはログアウト テキストの代わりにログイン テキストにとどまります。デリゲート メソッド (loginViewFetchedUserInfo、loginViewShowingLoggedInUser、...) が呼び出されます。

私のコードは、HelloFacebookSample プロジェクトからほとんどコピーされています。

plistファイルにFacebookアプリIDとそのすべてが含まれています。

私は本当にこれに行き詰まっています。Googleで解決策を見つけることができないので、ここに来て最後の希望として尋ねました。

私の悪い英語で申し訳ありません。助けてくれてありがとう。

4

2 に答える 2

0

アプリのデリゲートに次のようなものがあることを確認してください (3.5 SDK があると仮定します)。

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
     annotation:(id)annotation {
    // attempt to extract a token from the url
    return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}

Safari が表示された後、アプリが返された URL を処理し、それを SDK に渡してセッション情報を更新し、ログイン ボタンの状態を更新するように設定する必要があります。

于 2013-05-18T02:49:50.917 に答える