MyUnicity iOS プロジェクトで mobilefirst プラットフォーム SDK と IBM Bluemix 通知 SDK の両方を使用しようとすると、いくつかの問題が発生します。MFP と IMFCore ライブラリの間に多数の重複シンボルがあり、リンク フェーズでプロジェクトのビルドが失敗します (以下の例を参照してください。合計で「アーキテクチャ arm64 の 121 個の重複シンボル」が得られます)。iOS での Bluemix プッシュ通知には、IMFCore および IMFPush 機能が必要です。
重複シンボル _OBJC_IVAR_$_WLAFQueryStringPair._field 内: ... 重複シンボル _WLAFQueryStringPairsFromDictionary 内: ... 重複シンボル _OBJC_CLASS_$_WLDeviceAuthManager 内: ... ... ld: アーキテクチャ arm64 の 121 個の重複シンボルコード 1 (呼び出しを表示するには -v を使用)
モバイル ファースト プラットフォーム SDK と IBM ローカリゼーション SDK で同様のことが起きています ( https://developer.ibm.com/answers/questions/176115/ibmlocation-ios-sdk-worklight-api-duplicate-symbolを参照)。 .html )。その場合の答えは、モバイル ファースト プラットフォームからのプッシュ通知を使用することでしたが、私たちの場合、プッシュ通知サービスはモバイル ファースト プラットフォームの外部にある MACM によって使用されるため、これは不可能です。
この問題を解決できる一般的な推奨事項がいくつかありますが、これらの解決策はハッキングのように見えたり、他の開発環境で再現するのが難しい手順を含んでいるように見えます。
1) 静的ライブラリから手動でシンボルを削除する
2)名前空間の依存関係をいじる(問題のライブラリへのアクセスを含む)
3) 他のリンクオプションの使用
別の解決策もあります。MACM のプッシュ通知には、Bluemix プッシュ通知の代わりに xtify を使用します (MACM は、プッシュ通知ソリューションとして Bluemix Push または Xtify をサポートしています)。
ここでの最善の行動は何ですか?
ありがとう