iOSにてcordova-plugin-facebook4を使ってFacebookログインを行い、アプリに戻るとクラッシュする問題が発生しました。
Web版、アプリ版のFacebookをログイン情報を残さずにログアウトしないと発生しないのでこのバグに気がつかない方も多いかもしれません。
この記事の目次
試したこと
Xcode上にてこのようなログが出続けたままクラッシュします。
1 |
FB handle url using application:openURL:options (URL) |
cordova-plugin-facebook4バージョンが古かったので、最新にしました。
最新バージョンに変更しても、Xcodeでビルドするとこのようなエラーになります。
1 |
'FBSDKCoreKit/FBSDKCoreKit.h' file not found |
こうなってしまった方は、cordova-plugin-facebook4のplugin.xmlにある<platform name=”ios”>のブロック内に以下のコードを追加してあげてください。
1 2 3 |
<framework src="FBSDKCoreKit" type="podspec" spec="5.7.0" /> <framework src="FBSDKLoginKit" type="podspec" spec="5.7.0" /> <framework src="FBSDKShareKit" type="podspec" spec="5.7.0" /> |
最新バージョンにしたのに状況はなにも変わらず、次に疑ったのがFacebookのdeveloperの設定。こちらも一切触っていなので、関係ありませんでした。
FacebookアプリのIDなども確認しまいたが、悪いところもありませんでした。URLスキームも特に間違っていない。
途方にくれていました…。このままではアプリがリリースできない。
解決策
色々なキーワードで検索するとプラグインのissuesに同じような質問をしている方を発見。
記事によると、cordova-iosをv5.0.1にアップデートしてあげると直るとのこと。
インストールされていたのはv4.5.5だったので、さっそく試してみると無事Facebookログイン後にアプリに戻ってくることができました。
platformのバージョンに依存してくるとは思ってないませんでした。しっかりプラグインのドキュメントは読まないといけないですね。
同じようなエラーに悩んでいる方の参考になれれば幸いです。
最後までお読みいただきありがとうございました。
コメント