0

Parse とAdMobを 1 つの iOS バイナリでコンパイルおよびリンクできた人はいますか?ビルド設定に応じて、Parse または AdMob からリンカー エラーが発生します。

あなたの助けに感謝します。

4

2 に答える 2

3

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リンカ フラグで得られるものと同じです。-ObjCAdMob ライブラリのみを対象とするものに置き換える方法を知っているリンカーの専門家はいますか?

更新 2 : XCode 6、iOS 8、および新しいバージョンの adMob にアップグレードした後、これを再確認する必要がありました。これを使用して動作させました-force_load

-force_load $(SRCROOT)/.../GoogleMobileAdsSdkiOS/libGoogleAdMobAds.a

私の場合、プロジェクト ソースのサブフォルダー内に adMob をインストールしています。... を adMob SDK への相対パスに置き換えてください。

于 2013-08-09T15:05:59.713 に答える
0

次のフラグが問題を解決するように見えます:

-force_load Libraries/GoogleAdMobAdsSdkiOS-6.8.0/libGoogleAdMobAds.a
于 2014-03-09T08:01:17.150 に答える