問題
iOSアプリにGoogle Analyticsを入れるとき、以下のように実装すると思う。
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
FirebaseApp.configure()
Analytics.setAnalyticsCollectionEnabled(true)
return true
}
}
Xcode 15.4でこれを愚直に入れたところPreviewがクラッシュするようになった。
解決策
以下のようにDEBUGではGoogle Analyticsを無効化することで解決した。
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
FirebaseApp.configure()
#if DEBUG
// テストやプレビュー環境では Google Analytics を無効にする
#else
Analytics.setAnalyticsCollectionEnabled(true)
#endif
return true
}
}
メインコードにDEBUGかどうかの分岐は極力入れたくなかったが、これ以外の解決策は自分には見つけられなかった。
誰かの参考になれば幸いです。