2017-07-17 77 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

没关系啊,这是有道理的(我的移动中心团队:)工作)。谢谢卢卡斯! –

相关问题