适用于 iOS Today 扩展的 Firebase 分析(小部件扩展)

Posted

技术标签:

【中文标题】适用于 iOS Today 扩展的 Firebase 分析(小部件扩展)【英文标题】:Firebase analytics for iOS Today extension(widget extension) 【发布时间】:2017-03-02 04:57:02 【问题描述】:

我尝试在今天的扩展中添加 Firebase 分析。 于是我输入了配置代码

if (![FIRApp defaultApp])      
  [FIRApp configure];

在今天扩展的 viewDidLoad 中。

在 Xcode 的 Product > scheme > Edit scheme > Run > Arguments 选项卡中,我添加了“-FIRAnalyticsDebugEnabled”,因为我想在 firebase 控制台的 DebugView 页面中显示记录的事件。但是,页面中没有打印任何事件。

在 DebugView 中实时检查添加到 App(不是今天的扩展)的日志。我应该怎么做才能在firebase DebugView中实时显示今天的扩展日志?

【问题讨论】:

【参考方案1】:

根据我的经验,您不能在扩展程序上使用 app 参数。我可以在扩展中添加断点,但我可以看到该标志对扩展没有任何影响。因此,扩展程序暂时无法在调试模式下发送数据。

【讨论】:

感谢您的评论。我检查了应用扩展中发生的事件是否已记录在 firebase -> 控制台的“事件”选项卡上。我认为它不支持扩展的实时调试视图。 3~4 小时后,检查事件。谢谢:)【参考方案2】:

您可以通过在 FirebaseConfiguration 单例上调用 setLoggerLevel 方法并设置记录器级别从代码中执行此操作。 请参阅 Firebase 分析文档: https://firebase.google.com/docs/reference/ios/firebasecore/api/reference/Classes

通过将 -FIRDebugEnabled 参数传递给 应用。您可以在应用程序的 Xcode 中添加此参数 方案。当通过 -FIRDebugEnabled 启用调试模式时,进一步 应用程序的执行也将处于调试模式。为了 返回默认模式,您必须明确禁用调试模式 使用应用程序参数 -FIRDebugDisabled。

也可以通过以下方式更改代码中的默认日志记录级别 在 FIRConfiguration 接口调用 setLoggerLevel:。

【讨论】:

以上是关于适用于 iOS Today 扩展的 Firebase 分析(小部件扩展)的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 Core Data 加载到 Today Widget

iOS扩展Extension之Today

Today 小部件未在设备上启动(适用于模拟器)

iOS 8 beta - Today 扩展无法识别嵌入式框架

带有核心数据的 iOS Today 扩展

无法在模拟器中运行 Today 扩展小部件(iOS 8)