私のiPhoneアプリでは、ユーザーがFacebookでリンクを共有できるようにしたいと考えています。
彼らが「共有」をクリックすると、次のコードを使用して新しいSDK 3.1を使用してFacebookにログインしFBRequestConnection
、完了ハンドラーで使用します(単純publish_action
)。
[FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:true completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
// Now call FBRequestConnection to post in the stream
}];
ユーザーがFacebookアプリをインストールすると、ログインをアプリに委任するだけです。ただし、そうでない場合は、WebViewでログインページが開きます。
iOS 5では、MobileSafariが開きます。
私の問題はiOS6にありますが、同じフローが得られますが、代わりにモーダルポップアップが表示されます(アプリの上にあります)。
ポップアップに2つの問題があります。
1.閉じる
キャンセルまたは却下することはできません。比較すると、SDKのHelloFacebookSampleアプリには同じポップアップがありますが、閉じるためのクロスボタンがあります。
注:raviのおかげで解決されましたが、「近い」画像を含むFacebookリソースバンドルがありませんでした。
2.権限を受け入れる
ポップアップの2番目のステップ(上の画面を参照)で、[ OK ]を押しても何も起こりません。「X」を押すと、エラーで完了ハンドラーが呼び出されます。これはすばらしいことですが、 Okayでは何も起こりません。これは、SDK 3.1を使用してFacebookにログインする正しい方法ですか?ポップアップに具体的に反応するためのコールバックがありませんか?
さらにいくつかの説明:
これは、Facebookアプリがインストールされておらず、FacebookアカウントがiOS設定で構成されていない場合に、 iOS6でのみ発生します。
ありがとう!