2017-07-17 27 views
1

我嘗試將Azure Mobile Center添加到已使用HockeyApp進行崩潰報告(和分發)的項目。如果同時添加HockeyApp和MobileCenter Pod,則無法構建應用程序

這裏是Podfile:

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

pod install它增加了MobileCenter版本0.9.0

該應用程序無法與可怕的Apple Mach-O Linker Error一起構建。下面是相關錯誤輸出:

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.frameworkMobileCenterAnalytics.frameworkMobileCenterCrashes.framework框架,在the docs描述。

但是,如果您隻手動添加MobileCenter.frameworkMobileCenterAnalytics.framework框架,則不是。

所以我的問題是:我搞砸了某處或讓微軟搞砸了某些地方,給他們的HockeyAppMobileCenterCrashes框架中的某些東西具有相同的全球名稱?

回答

5

在iOS上,一次不可能使用多個第三方崩潰報告工具。因此,無論重複符號問題如何,您都需要選擇您要用於崩潰報告的兩個SDK中的任意一個。

請注意,由於Mobile Center SDK的模塊化特性,您可以輕鬆添加所有其他子規格,例如,移動中心的Analytics,PushDistribute如果您決定保留HockeySDK的崩潰報告。 如果你想保留除崩潰報告之外的其他功能,反過來也不會那麼容易,因爲它需要你自定義構建HockeySDK。

+0

沒關係啊,這是有道理的(我的移動中心團隊:)工作)。謝謝盧卡斯! –

相關問題