ios - 如何使用标志禁用 Crashlytics iOS 库?

标签 ios objective-c xcode crashlytics

我正在使用适用于 iOS 的最新 Crashlytics 库。我希望使用单个标志禁用 crashlytics。我该怎么做?

PS:根据新的 SDK 集成指南,我没有使用设置 API key 的方法。 (使用 MAC 应用程序集成)

最佳答案

您是要阻止 Crashlytics 运行,还是要阻止 SDK 被编译?

要阻止它运行,您不能调用 Crashlyitcs 来启动它,这通常在您的应用委托(delegate)中完成。

例如,如果您在 Fabric 之前使用 Crashlytics,只需注释掉以下行:

[Crashlytics startWithAPIKey:<your key>];

如果您使用的是 Fabric,则需要注释掉以下行:

[Fabric with:@[CrashlyticsKit]];

如果您使用的是其他 Fabric 服务,请从服务中删除“CrashlyticsKit”以便 Fabric 启动。因此,例如,您想要更改:

[Fabric with:@[TwitterKit, CrashlyticsKit]];

到:

[Fabric with:@[TwitterKit]];

既然你想用一个标志来完成这个,有很多方法可以做到这一点,一种方法是使用处理器宏。例如,如果您只是想在 XCode 中运行时禁用 Crashlytics,您可以使用 DEBUG,这是一个在 XCode 项目中默认设置为 1 的预处理器宏,方法如下:

#if DEBUG == 0 [Crashlytics startWithAPIKey:<your key>]; #endif

您可以通过在 XCode 中打开您的项目文件 (.xcodeproj),为您喜欢的任何上下文添加您自己的预处理器宏,选择您的目标,选择“Build Settings”选项卡,滚动到“Apple LLVM 6.0 - Preprocessing ”部分,并更改“预处理器宏”下的条目。您可以根据需要为任何项目配置添加它们。

关于ios - 如何使用标志禁用 Crashlytics iOS 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28931322/

相关文章:

ios - MPVolumeView 路由列表支持所有方向并忽略底层 View Controller

objective-c - didChangeObject : not called of NSFetchedResultsController

ios - 将 NSString 转换为 int16_t 并将它们插入到核心数据中

objective-c - 如何重定向 URL 以在 ios 应用程序中的 puffin 浏览器而不是 safari 浏览器中打开?

objective-c - 运行单个测试方法

ios - 下载PDF文件并保存在文档目录中

xcode - Swift ScrollView 分页只显示数组中的最后一张图像

ios - 使用dispatch_async NSURLSession 调用结果更新 UILabel

ios - NSManagedObjectID 的线程安全

ios - UITableView 中的圆形 UIImageView 没有性能影响?