Я работаю над проектом iOS, который использует Firebase для аналитики, сбоев и удаленного извлечения конфигурации. Для управления зависимостями я использую cocoapods, и текущая версия Firebase в проекте самая последняя - 6.22.0
.
Проблема здесь в том, что приложение вылетает при каждом новом запуске в строке кода, которая настраивает Firebase (Obj C -> [FIRApp configure];
). Я уже видел несколько подобных постов, но ни один из них не помогает в моем случае, если я что-то упустил.
Часть структуры проекта показана на рисунке ниже. Красный цвет указывает основной xcodeproj
файл основной цели и приложения. Голубым цветом обозначен файл xcodeproj
пользовательской платформы, в котором содержатся помощники, включая оболочку FirebaseAnalytics
для ведения журнала аналитики, что означает, что она имеет зависимость pod Firebase/Analytics
. Этот пользовательский каркас используется в основной цели приложения, отмеченной красным цветом. (После pod install
я всегда открываю xcworkspace
, так что это в xcworkspace
).
Ниже определены блоки для каждого проекта / цель в Podfile
.
target 'TheApp' do
platform :ios, '11.0'
project 'TheApp/TheApp.xcodeproj'
use_frameworks!
pod 'Firebase/Auth'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'Firebase/RemoteConfig'
end
target 'TheCustomFramework' do
platform :ios, '11.0'
project 'TheCustomFramework/TheCustomFramework.xcodeproj'
use_frameworks!
pod 'Firebase/Analytics'
end
Я добавил метод настройки Firebase в делегат приложения, как это показано в документации Google.
Также я Добавлен GoogleService-Info.plist
файл в проект, как указано в документации Google.
Но приложение продолжает падать в конфигурации Firebase, вызываемой в методе didFinishLaunchingWithOptions
в AppDelegate
. Когда я вхожу глубже в застрявшую трассировку, я получаю cra sh в строке кода 364th
в библиотеке Firebase, отмеченной красным прямоугольником:
сообщение об исключении для этого cra sh в консоли Xcode:
Terminating app due to uncaught exception 'com.firebase.installations', reason: 'The default FirebaseApp instance must be configured before the defaultFirebaseApp instance can be initialized. One way to ensure that is to call `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) in the App Delegate's `application:didFinishLaunchingWithOptions:` (`application(_:didFinishLaunchingWithOptions:)` in Swift).'
В чем здесь может быть проблема? Спасибо за вашу помощь и ответы.
ps извините за длинный пост.