事象
【状況】
・Facebookアプリを端末にインストールしている
・未ログイン
Facebook SDK を使ってシェア機能を実装しているのですが、上記の状況の時にシェア機能を実装しているボタンをタップしても
反応しなくなりました。少し前までは、以下のような挙動をしていました。
【以前の挙動(8/18時点)】
Facebookシェアダイアログと共に「ログインしてください」との旨のエラーが表示され、
エラーを閉じるとダイアログも同時に閉じる
【現在の挙動】
ボタンのタップ処理は発生しているが、以前のようなエラーダイアログ等が表示されない。
環境
iOS: 11系
Facebook SDK: 4.32.0
ソースコード
Swift
1import FBSDKShareKit 2 3final class SNSShare { 4 5 // MARK: - Facebook 6 func facebook(from vc: UIViewController, contentURL: URL) { 7 8 let dialog = FBSDKShareDialog() 9 dialog.shareContent = getShareLinkContentFB(objectURL: contentURL) 10 dialog.mode = FBSDKShareDialogMode.native 11 12 if dialog.canShow() { 13 FBSDKShareDialog.show(from: vc, 14 with: getShareLinkContentFB(objectURL: contentURL), 15 delegate: nil) 16 } else { 17 FailedToOpenApply(to: vc) 18 } 19 } 20 21 // SNSアプリ起動失敗 22 private func FailedToOpenApply(to vc: UIViewController) { 23 vc.simpleError(.couldNotOpenApp) 24 } 25 26 // Facebookのシェアコンテンツを作成する 27 private func getShareLinkContentFB(objectURL: URL) -> FBSDKSharingContent { 28 // リンクの場合 29 let content = FBSDKShareLinkContent() 30 content.contentURL = objectURL as URL? 31 32 return content 33 } 34 35 ・・・ 36}
試したこと
Swift
1if (FBSDKAccessToken.current() == nil) { 2 print("未ログイン") 3}
上記のコードでログイン状態をチェックし、自前でエラーダイアログを表示しようと考えたのですが、
ログインしていてもしていなくてもこの分岐に入ってしまいうまくいきません。
同様の問題に直面した方で解決策をお持ちの方、ご教授いただけないでしょうか。
あなたの回答
tips
プレビュー