Firebase iOS 调试控制台未记录任何内容
Posted
技术标签:
【中文标题】Firebase iOS 调试控制台未记录任何内容【英文标题】:Firebase iOS Debug Console not logging anything 【发布时间】:2017-11-06 12:32:23 【问题描述】:我在控制台和应用程序中都设置了 firebase。一切都正确配置,并且事件似乎正在记录到应用程序中。
输出到控制台:
<FIRAnalytics/DEBUG> Logging event: origin, name, params: app,
log_something,
"_o" = app;
"full_text" = khbsdpibdsjl;
name = lwkjbgskljsavdkjl;
我启用了调试标志:-FIRDebugEnabled
。
但在调试事件控制台中却没有任何内容。我看到没有可用的设备,没有记录任何事件,绝对 0 表示任何连接。我一定是错过了什么?
编辑:我一直在关注这个来设置调试事件。 https://firebase.google.com/docs/analytics/debugview#enabling_debug_mode
我在 StreamView 中看到了事件,但在调试视图中什么也没有,即使我启用了调试模式。
【问题讨论】:
至少对我来说,当我在模拟器上测试分析日志功能时,没有记录任何事件。但是,当我在实际的 iPhone 上试用它时,它起作用了! 【参考方案1】:如果您已完成 Firebase 文档所述的所有操作,则可能是您在 Firebase Analytics 的“调试视图”中选择了错误的“调试设备”。更改左上角的调试设备后,我之前的所有分析事件都显示出来了!所以并不是我的事件没有被发送到 Firebase,我只是看到了错误的观点。附上图片。
【讨论】:
【参考方案2】:我的配置与 jaywant-khedkar 相同,但 Firebase 调试视图中没有显示任何事件或设备。
发现我网络上的 pi-hole 正在吞噬所有事件。 因此,如果您的网络上有任何类型的广告拦截器,请将其禁用并重试。
调试愉快!
【讨论】:
【参考方案3】:或者,您可以在 AppDelegate 中执行此操作:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
var newArguments = ProcessInfo.processInfo.arguments
newArguments.append("-FIRDebugEnabled")
ProcessInfo.processInfo.setValue(newArguments, forKey: "arguments")
---额外---
还有一些想法:
关于
Firebase.Analytics.setAnalyticsCollectionEnabled(true)
如果我们检查方法:
所以这有点无意义...
【讨论】:
【参考方案4】:我最近遇到了一个问题,Xcode 控制台说一切都很好,并且正在记录和发送所有内容,并且我有“-FIRDebugEnabled”,我在这个线程中尝试了所有其他建议,但没有任何效果。 没有任何内容被发送到 Firebase 的 DebugView。
查看我的 git 历史记录,我确定问题的发生是由于 pod update
,而我的问题的解决方案是另一个 pod update
。
我不知道哪个 pod 失败了,但我怀疑是 Moya、Alamofire 或 FirebaseAnalytics……在此之后,我强烈考虑锁定我的 pod 版本。
【讨论】:
【参考方案5】:试试这个,这对我有用,
按照以下步骤,
1.在Xcode中,选择Product → Scheme → EditScheme。
2.从左侧菜单中选择运行和选择参数选项卡 在 Arguments Passed on + 选项中
添加-FIRDebugEnabled
详细调试视图请按照步骤DebugView track Firebase doc
要在 XCode 项目中发送事件,请遵循以下代码,
目标 C
[FIRAnalytics logEventWithName:@"share_image"
parameters:@@"name": name, @"full_text": text];
斯威夫特
Analytics.logEvent("share_image", parameters: ["name": name, "full_text": text])
对于事件日志,请按照详细步骤Log events in Application Firebase doc
希望这会对某人有所帮助。
【讨论】:
您可以从这个答案中了解视觉效果。【参考方案6】:我通过编写以下代码使之成为可能:
func application(_ application: UIApplication, didFinishLaunchingWithOptions, ...)
// some other initialization
FirebaseApp.configure()
Firebase.Analytics.setAnalyticsCollectionEnabled(true)
【讨论】:
这确实有帮助。谢谢 我对默认启用的 cmets 持怀疑态度 + 我已确认它已在 plist 中启用。但是,是的,直到我添加了这一行,它才起作用。 仍然相关吗?我正在使用FirebaseAnalytics
,它还评论说setAnalyticsCollectionEnabled
默认设置为true【参考方案7】:
确保在 -FIRDebugEnabled
之前添加 ONE DASH错过了DASH
,我浪费了一整天的时间犯了愚蠢的错误希望这不会发生在其他人身上!
【讨论】:
【参考方案8】:现在这并不重要,但对于在这个问题上遇到错误的人来说仍然很重要。由于GoogleServices-Info.plist
文件中的问题,firebase 分析的调试模式有时不起作用
只需进行这 2 项更改即可。
-
将 IS_ANALYTICS_ENABLED 设置为 YES
将 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATE 设置为 NO
【讨论】:
非常感谢。这两个键解决了我的问题。 密钥FIREBASE_ANALYTICS_COLLECTION_DEACTIVATE
是否仍然相关?新的GoogleServices-Info.plist
文件不包含此类字段【参考方案9】:
在访问 Firebase 网站时检查您是否启用了广告拦截器。
我启用了 uBlock origin,它会阻止每个页面(仪表板、事件、StreamView、DebugView...)并且它们都是空白的。
我将其列入白名单后,一切都按预期工作。
【讨论】:
【参考方案10】:如果您在某个时候添加了 OS_ACTIVITY_MODE:disable,请确保从项目方案中的环境变量中删除它。
【讨论】:
有人在我们的调试版本中添加了OS_ACTIVITY_MODE=$DEBUG_ACTIVITY_MODE
,根据您运行的 XCode 版本,有时启用有时禁用【参考方案11】:
我也有同样的问题。
1检查您的 Cocopods 的 Firebase 版本。
使用 pod 更新 Firebase 列表项 确保这是最新的2开启调试模式
在启动时传递的参数部分 添加 - FIRDebugEnabled。【讨论】:
我得到了一些非常古怪和不稳定的结果。调试流工作,突然停止显示事件, 在我通过更新 pod 更新 Firebase 后记录事件。所以它对我有用。以上是关于Firebase iOS 调试控制台未记录任何内容的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 崩溃日志未报告 IOS React Native 应用程序
Firebase - 在没有工作区的 iOS 上调试和记录事件
Flutter:Flutter Firebase Crashlytics 未针对 iOS 显示