在 iOS 应用程序运行时启用/禁用 Crashlytics
Posted
技术标签:
【中文标题】在 iOS 应用程序运行时启用/禁用 Crashlytics【英文标题】:enabling/disabling Crashlytics at runtime in iOS app 【发布时间】:2019-06-03 05:20:46 【问题描述】:似乎无法通过 swift 中的方法调用在运行时启用/禁用 Crashlytics - 我的应用设置了 firebase 分析和 Crashlytics for firebase - 以下调用(根据 Google dev website)给了我“使用未解析的标识符“崩溃””,即使在导入 crashlytics 和 firebase 时也是如此
Crash.sharedInstance().crashCollectionEnabled = false
【问题讨论】:
您使用的是 Fabric 还是 Crashlytics?吊舱/二进制?最新版本? 看起来好像您的 Crashlytics 未导入。这也可能是动态框架使用的问题,因为这些直到使用才加载。在这种情况下使用静态库 cab 会更好 我在项目中添加了 Firebase 分析,然后按照谷歌网站上的 firebase 说明添加了 crashlytics。这是最新版本的 Firebase 和 Crashlytics。我错过了什么导入? 【参考方案1】:在新的 SDK 中,您可以按照 documentation 进行操作:
默认情况下,Crashlytics 会自动为所有用户收集崩溃报告 您应用的用户。为了让用户更好地控制他们发送的数据, 您可以通过禁用自动为您的用户启用选择加入报告 仅为选定用户收集和初始化 Crashlytics:
通过向 Info.plist 添加新键来关闭自动收集 文件:
Key: FirebaseCrashlyticsCollectionEnabled
Value: false
通过调用 Crashlytics 数据收集为选定用户启用收集 在运行时覆盖。覆盖值在启动时持续存在 您的应用程序,以便 Crashlytics 可以自动收集报告以备将来使用 该应用程序实例的启动。选择退出自动崩溃 报告,传递 false 作为覆盖值。
Crashlytics.crashlytics().setCrashlyticsCollectionEnabled(true)
【讨论】:
【参考方案2】:似乎提供该方法的 Firebase 框架已被弃用。
您现在应该使用 Crashlytics 方式:https://firebase.google.com/docs/crashlytics/customize-crash-reports#enable_opt-in_reporting
【讨论】:
以上是关于在 iOS 应用程序运行时启用/禁用 Crashlytics的主要内容,如果未能解决你的问题,请参考以下文章
在应用程序运行时启用/禁用 Core Data 的 iCloud 同步