2017-07-17 5 views
1

クラッシュレポート(および配布)にすでにHockeyAppを使用しているプロジェクトにAzure Mobile Centerを追加しようとしました。ここで HockeyAppとMobileCenterの両方のポッドを追加してもアプリケーションを構築できない

はPodfileです:それは MobileCenterバージョン0.9.0 追加

use_frameworks! 
target "MyApp" do 
    pod 'HockeySDK', '3.8.5' 
    pod 'MobileCenter' 
    ...and some other pods... 
end 

pod installに。

アプリは恐怖のApple Mach-O Linker Errorでビルドできません。ここでは、関連するエラー出力がある:手動MobileCenter.frameworkMobileCenterAnalytics.frameworkMobileCenterCrashes.frameworkフレームワークを追加した場合the docsで説明したように

duplicate symbol ___cxa_throw in: 
    /Users/joncox/Documents/TAB/RTI-Client/Pods/HockeySDK/HockeySDK-iOS/HockeySDK.embeddedframework/HockeySDK.framework/HockeySDK(BITCrashCXXExceptionHandler.o) 
    /Users/joncox/Documents/TAB/RTI-Client/Pods/MobileCenter/MobileCenter-SDK-iOS/MobileCenterCrashes.framework/MobileCenterCrashes(MSCrashesCXXExceptionHandler.o) 
ld: 1 duplicate symbol for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

同じことが、起こります。

ただし、MobileCenter.frameworkフレームとMobileCenterAnalytics.frameworkフレームワークを手動で追加するだけではありません。

だから私の質問は:私はどこかめちゃくちゃ持っているか、Microsoftがどこかめちゃくちゃと両方彼らのHockeyAppMobileCenterCrashes枠組みの中で何かに何か同じグローバル名を与えていますか?

答えて

5

iOSでは、一度に複数のサードパーティクラッシュレポートツールを使用することはできません。したがって、重複するシンボルの問題にかかわらず、クラッシュレポートに使用する2つのSDKのいずれかを選択する必要があります。

Mobile Center SDKのモジュール性のため、他のすべてのサブスペックを簡単に追加することができます。モバイルセンターのAnalytics,Push、およびDistributeの場合、クラッシュレポートのためにHockeySDKを保持することに決めました。 クラッシュレポート以外の機能を維持したい場合、HockeySDKのカスタムビルドを実行する必要があるほど簡単な方法はありません。

(私はモバイルセンターのチームで作業:)

+0

大丈夫ああ、それは理にかなっています。ありがとうルカス! –

関連する問題