ios - 如果同时添加 HockeyApp 和 MobileCenter pod,则无法构建应用程序

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

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

这是 Pod 文件:

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

pod install它增加了 移动中心 版本 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.framework,也会发生同样的事情。 , MobileCenterAnalytics.frameworkMobileCenterCrashes.framework框架,如 the docs 中所述.

但如果您只手动添加 MobileCenter.frameworkMobileCenterAnalytics.framework构架。

所以我的问题是:我是在某个地方搞砸了,还是微软在某个地方搞砸了,并在他们的HockeyApp 中给某个东西赋予了相同的全局名称?和 MobileCenterCrashes构架?

最佳答案

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

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

(我在 Mobile Center 团队工作 :))

关于ios - 如果同时添加 HockeyApp 和 MobileCenter pod,则无法构建应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45147258/

相关文章:

java - 是否可以仅针对特定风格包含并初始化 HockeyApp SDK?

iphone - 在应用程序购买 (IAP) 过程中,我的一位用户似乎在启动时崩溃了应用程序

iphone - 想要在 iPad 中显示黑色键盘

android - 无法通过他们的 API 将 APK 文件上传到曲棍球应用程序

uwp - 使用 VSTS 任务将 UWP 应用分发到应用中心(又名移动中心)

c# - 无法在 Xamarin.iOS 应用上启用 AppCenter.Crashes

ios - 检查数组的当前索引是什么对象

iOS UITableView 在代码中移动单元格

faSTLane - 如何使用 FaSTLane 查找 Hockeyapp 上的下一个版本号