Parse とAdMobを 1 つの iOS バイナリでコンパイルおよびリンクできた人はいますか?ビルド設定に応じて、Parse または AdMob からリンカー エラーが発生します。
あなたの助けに感謝します。
Parse とAdMobを 1 つの iOS バイナリでコンパイルおよびリンクできた人はいますか?ビルド設定に応じて、Parse または AdMob からリンカー エラーが発生します。
あなたの助けに感謝します。
AdMob には -ObjC リンカー フラグが必要です。「このフラグにより、リンカーは、Objective-C クラスまたはカテゴリを定義するライブラリ内のすべてのオブジェクト ファイルを読み込みます。」
Parse は、AdMob が必要とする -ObjC フラグを指定してプロジェクトをコンパイルすると、リンカー エラーを生成する Facebook SDK をそのフレームワークから削除しました。
AdMob の -ObjC フラグへの依存を回避する方法がわかりません。私はリンカの第一人者ではありません。
Parse が推奨する解決策は、Facebook SDK をプロジェクトに追加することです。Facebookを使用する予定がない場合、これに対する回避策もわかりません。
Parse のサポート ディスカッションはこちら: https://www.parse.com/questions/i-dont-want-to-use-facebook-in-my-app
更新: AdMob ライブラリの-ObjC
リンカー フラグを置き換えてみました。-forceload
しかし、AdMob がクラッシュしました。これは、不足している-ObjC
リンカ フラグで得られるものと同じです。-ObjC
AdMob ライブラリのみを対象とするものに置き換える方法を知っているリンカーの専門家はいますか?
更新 2 : XCode 6、iOS 8、および新しいバージョンの adMob にアップグレードした後、これを再確認する必要がありました。これを使用して動作させました-force_load
:
-force_load $(SRCROOT)/.../GoogleMobileAdsSdkiOS/libGoogleAdMobAds.a
私の場合、プロジェクト ソースのサブフォルダー内に adMob をインストールしています。... を adMob SDK への相対パスに置き換えてください。
次のフラグが問題を解決するように見えます:
-force_load Libraries/GoogleAdMobAdsSdkiOS-6.8.0/libGoogleAdMobAds.a