如果同时添加 HockeyApp 和 MobileCenter,则无法构建应用 pods
Cannot build app if add both HockeyApp and MobileCenter pods
我已经尝试将 Azure Mobile Center 添加到已经使用 HockeyApp 进行崩溃报告(和分发)的项目中。
这是 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.framework
、MobileCenterAnalytics.framework
和 MobileCenterCrashes.framework
框架,也会发生同样的事情,如 the docs 中所述。
但如果您仅手动添加 MobileCenter.framework
和 MobileCenterAnalytics.framework
框架则不会。
所以我的问题是:是我搞砸了某个地方还是微软搞砸了某个地方并在他们的 HockeyApp
和 MobileCenterCrashes
框架中为某些东西赋予了相同的全局名称?
在 iOS,一次不能使用多个第三方崩溃报告工具。因此,无论重复符号问题如何,您都需要选择要用于崩溃报告的两个 SDK 之一。
请注意,由于 Mobile Center SDK 的模块化特性,您可以轻松添加所有其他子规范,例如Mobile Center 的 Analytics
、Push
和 Distribute
(如果您决定保留 HockeySDK 用于崩溃报告)。
如果您想保留崩溃报告以外的其他功能,则另一种方法并不像要求您自定义构建 HockeySDK 那样简单。
(我在移动中心团队工作:))
我已经尝试将 Azure Mobile Center 添加到已经使用 HockeyApp 进行崩溃报告(和分发)的项目中。
这是 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.framework
、MobileCenterAnalytics.framework
和 MobileCenterCrashes.framework
框架,也会发生同样的事情,如 the docs 中所述。
但如果您仅手动添加 MobileCenter.framework
和 MobileCenterAnalytics.framework
框架则不会。
所以我的问题是:是我搞砸了某个地方还是微软搞砸了某个地方并在他们的 HockeyApp
和 MobileCenterCrashes
框架中为某些东西赋予了相同的全局名称?
在 iOS,一次不能使用多个第三方崩溃报告工具。因此,无论重复符号问题如何,您都需要选择要用于崩溃报告的两个 SDK 之一。
请注意,由于 Mobile Center SDK 的模块化特性,您可以轻松添加所有其他子规范,例如Mobile Center 的 Analytics
、Push
和 Distribute
(如果您决定保留 HockeySDK 用于崩溃报告)。
如果您想保留崩溃报告以外的其他功能,则另一种方法并不像要求您自定义构建 HockeySDK 那样简单。
(我在移动中心团队工作:))