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 调试控制台未记录任何内容的主要内容,如果未能解决你的问题,请参考以下文章

未安装 Ionic Firebase 电话身份验证插件

Firebase 崩溃日志未报告 IOS React Native 应用程序

Firebase - 在没有工作区的 iOS 上调试和记录事件

Flutter:Flutter Firebase Crashlytics 未针对 iOS 显示

记录或调试 iOS 的 Firebase HttpMetric 跟踪调用(无需等待 12 小时)

带有颤动的 Firebase 动态链接:深层链接 URL 未打开应用程序