1

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 をサポートしています)。

ここでの最善の行動は何ですか?

ありがとう

4

2 に答える 2

0

最良のオプションは、プロジェクトの要求、時間枠、およびそれを達成するための技術的な複雑さに最も適したものであると思います.

于 2016-03-08T09:06:03.527 に答える
0

開発チームは、Bluemix Mobile Services 用の Swift SDK に取り組んできました。これにより、重複シンボル エラーなしで MFPF への統合が可能になります。

SDK とサンプルはまだ開発中ですが、新しい Swift SDK を使用する現在開発中の Bluemix Push Notification サンプルで実験を開始できます。bms-samples-swift-hellopushリポジトリの開発ブランチを見てください。

あなたが参照していた重複シンボル エラーなしで、MFPF SDK をこのサンプルに統合することができました。SDK はプレリリース段階にあるため、これはまだ実験段階であることに注意してください。SDK がリリースされたら、最新情報をお届けします。

于 2016-03-18T16:25:55.743 に答える