ПРИМЕЧАНИЕ : Мы используем cocoapods, чтобы получить фреймворки GoogleTagManager
через отдельный проект, а затем вручную интегрируем статические фреймворки в наш проект Swift.
С GoogleTagManager (6.0.0), наше приложение работает нормально, то же самое для функций GTM.
Теперь, когда мы планируем внедрить FirebaseMessaging
, мы решили сначала обновить GTM, чтобы мы могли также использовать последнюю версию FirebaseMessaging
.
Наш файл pod выглядит следующим образом:
target 'SampleProject'
platform :ios, '10.0'
pod 'GoogleTagManager'
Вот версии после обновления:
Using FirebaseAnalytics (5.3.0)
Using FirebaseCore (5.1.7)
Using FirebaseInstanceID (3.3.0)
Using GoogleAnalytics (3.17.0)
Using GoogleAppMeasurement (5.3.0)
Using GoogleSymbolUtilities (1.1.2)
Using GoogleTagManager (7.1.1)
Using GoogleUtilities (5.3.4)
Using GoogleUtilitiesLegacy (1.3.2)
Using nanopb (0.3.901)
Однако некоторые из структур зависимостейтеперь просто папки с файлами .h и .m вместо .framework
.Добавление use_frameworks!
не помогло.
Итак, мы обратились к framework SDK zip и взяли взамен следующую версию .framework
s (версия соответствовала версиям из cocoapods):
FirebaseCore.framework
GoogleUtilities.framework
nanopb.framework
И использовали почтовые индексы Firebase.h
и module.modulemap
.
После установки LIBRARY_SEARCH_PATHS
для правильного указания на libGoogleAnalytics.a
и замены import FirebaseAnalytics
на import Firebase
мы смогли построить проект.
ВЫПУСК:
При запуске приложение вылетает сразу после этой строки консоли (имя файла .json здесь маскируется):
GoogleTagManager info: Attempting to load saved version of container GTM-XXXXXX
И ниже трассировка стека:
Я уже проверил, TAGRuntime.js.dat
добавлено к Build Phases>Copy Bundle Resources
Чтоя скучаю?