より良い解決方法
以下は、上の回避方法を見つける以前の記事。
エラー内容
CocoaPodsで依存管理している Facebook iOS SDK 3.23.0 でビルドエラーが発生。
メッセージ内容: Cannot create __weak reference in file using manual reference counting
対処方法
メッセージの通り、weakリファレンスを許可すれば良い。Podsのプロジェクト設定から行う。
- Podsプロジェクトを選択
- TargetをFacebook-iOS-SDKとする
- Build Settings タブを選択する
- weakで検索して、Weak References in Manual Retain Release を Yes にする
APPENDIX:なぜこんな古いSDKを使っている?
メジャーアップデートをすると、Facebook連携を行った際にFacebookネイティブアプリで認証されず、Safariによって認証が行われるため、ユーザビリティが落ちると判断し、ぎりぎりまで粘って使っています。
検証してみたところ、Safari認証でもCVRは低下せず、ユーザビリティに影響はないことがわかったので、現在は最新版を用いています。FBの中の人も、Safari認証の方がCVRはむしろ良いのだと言っていました。