IOS - Дублировать символы при добавлении сообщений Firebase (конфликт с Google Analytics)

Я хочу добавить Firebase Cloud Messaging в свой проект, у которого уже есть другие сервисы от Google (например, Analytics). Я использую cocoapods, и я добавил в свой файл подкачки:

pod 'Firebase'
pod 'Firebase/Messaging'

Я запускаю pod install, и все выглядит хорошо, но когда я пытаюсь создать проект, я получаю много повторяющихся ошибок символов:

duplicate symbol _OBJC_CLASS_$_ACPGmpAudienceRoot in:
    .../Pods/Google/Libraries/libGGLCore.a(GmpAudience.pb.o)
    .../Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.framework/FirebaseAnalytics(GmpAudience.pb_d68254ec585824fa42de6de2f056cda0.o)
... more and more duplicate symbol errors ...

Как я могу это исправить? Почему с Messaging есть библиотека Google Analytics? Мне это не нужно. Я попытался очистить проект и удалить Derived data, но на данный момент не повезло.

Ответ 1

Обновите версию подкачки Google/(Google Analytics) до 3.0.
Я использовал версию 2.0.4, я сделал pod update и обновлялись следующие модули:

  • Установка Google 3.0.3 (была 2.0.4)
  • Установка GoogleSignIn 4.0.0 (была 3.0.0)

После этого я смог использовать Google Analytics с Firebase

Ответ 2

В зависимости от вашего варианта использования вы можете рассмотреть одно: если вы используете Диспетчер тегов Google, вы можете интегрироваться с Firebase Analytics и использовать GTM для пересылки данных о событиях в Google Analytics, если вы предпочитаете совместное использование приложений и веб-данных или хотите использовать Google Analytics по какой-либо другой причине.

Ответ 3

У меня точно такая же проблема - приложение iOS, которое уже использует Google Analytics, но я хочу добавить Firebase Messaging, так что приложение может иметь возможность push-уведомления. Я добавил "pod" Firebase/Messaging "в Podfile и имел те же ошибки связывания при компиляции.

Многие поиски выявили эту настройку компилятора: "Ваша цель → Настройки сборки" - Apple LLVM 7.1 - Генерация кода → Нет общих блоков - установите значение "Да", например:

Настройки сборки

В Xcode 7.3 кажется, что по умолчанию для этого параметра установлено значение "Нет", при этом происходит изменение всех ошибок связывания, и приложение создано без проблем.