【问题标题】:Cannot build app if add both HockeyApp and MobileCenter pods如果同时添加 HockeyApp 和 MobileCenter pod,则无法构建应用程序
【发布时间】:2017-07-17 14:46:38
【问题描述】:

我尝试将 Azure Mobile Center 添加到已经使用 HockeyApp 进行崩溃报告(和分发)的项目中。

这是 Pod 文件:

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 框架中为某个东西赋予了相同的全局名称?

【问题讨论】:

    标签: ios hockeyapp mobile-center visual-studio-app-center


    【解决方案1】:

    在 iOS 上,一次不能使用多个第三方崩溃报告工具。因此,无论符号重复问题如何,您都需要选择您想要用于崩溃报告的两个 SDK 之一。

    请注意,由于 Mobile Center SDK 的模块化特性,您可以轻松添加所有其他子规范,例如Mobile Center 的AnalyticsPushDistribute(如果您决定保留 HockeySDK 以进行崩溃报告)。 如果您想保留除崩溃报告之外的其他功能,则相反,它需要您自定义构建 HockeySDK 并不容易。

    我在 Mobile Center 团队工作 :)

    【讨论】:

    • 啊,好吧,有道理。谢谢卢卡斯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多