Невозможно создать приложение, если добавить модули HockeyApp и MobileCenter

Я попытался добавить Azure Mobile Center в проект, который уже использует HockeyApp для отчетов о сбоях (и распространения).

Вот Подфайл:

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 рамки, как описано в документах.

Но не если вы только вручную добавляете MobileCenter.framework а также MobileCenterAnalytics.framework рамки.

Итак, мой вопрос: я где-то облажался или Microsoft облажалась где-то и дала что-то одно и то же глобальное имя чему-то в обоих HockeyApp а также MobileCenterCrashes рамки?

1 ответ

Решение

На iOS невозможно использовать более одного стороннего инструмента для отчетов о сбоях одновременно. Поэтому, независимо от проблемы с дублирующимися символами, вам нужно выбрать один из двух SDK, которые вы хотите использовать для отчетов о сбоях.

Обратите внимание, что из-за модульной природы Mobile Center SDK вы можете легко добавить все остальные подспецификации, например, для Mobile Center. Analytics, Push, а также Distribute если вы решили сохранить Hock eySDK для отчетов о сбоях. Обратный путь был бы не таким простым, как если бы вы хотели сохранить другие функции, кроме отчетов о сбоях, потребовалось бы выполнить пользовательскую сборку Hock eySDK.

(Я работаю в команде Mobile Center:))

Другие вопросы по тегам