ios - 用于生产应用程序的 Crashlytics CLS_Log 与 NSLog

标签 ios objective-c xcode debugging crashlytics

没有真正具体的问题,但我很好奇是否有人曾经使用过 CLSLog() or CLSNSLog() provided by the Crashlytics SDK

到目前为止,我的应用程序相当小,而且我一直让 NSLog 保持打开状态,甚至在提交最终应用程序时它们仍然完好无损。事后看来,我可能应该关闭它们,使用其他一些日志系统,或者 #define 一个 DEBUG var 以在发布时禁用它们,正如我在其他帖子中看到的那样。

无论如何,只是想知道以前是否有人使用过它?

最佳答案

最好的方法是声明一个名为 DEBUG 的预处理器变量

在标题中,包括:

#define DEBUG 1

之后,出于调试目的,将 DEBUG 设置为 1,并将所有内容设置为 NSLog。

#if DEBUG==1
   NSLog(@"debug mode activated, value for certain variables is: %d", i);
#endif

在您运送产品之前,只需更改

#define DEBUG 0

这样,您就可以将整个代码留在应用程序中进行调试,并保留它以供进一步开发

Crashlytics 的 CLS_LOG 使您可以从 Crashlytics 网站访问应用程序的日志。它还收集有关崩溃、内存警告、有多少用户在某个时间点崩溃等信息。

编码愉快!

编辑:

我忘了添加一件事:对于我现在正在处理的应用程序,在前缀中,我们定义了:

#define NSLog(...) CLS_LOG(__VA_ARGS__)

因此,我们从未明确使用 CLS_LOG。我们只使用 NSLog,但所有 NSLog 都会进入 Crashlytics 仪表板。

关于ios - 用于生产应用程序的 Crashlytics CLS_Log 与 NSLog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18702876/

相关文章:

xcode - 按钮上方的事件指示器会阻止点击识别

ios - 未找到 iOS 设备,是否已插入?在 ideviceinstaller/ideviceinfo

ios - iOS (Objective-C) 在 AudioQueue 中播放 AAC 文件的问题

ios - 删除多余的单元格/行空格,而不会在 UITableView 上显示数据

ios - 如何在 Cocoa Touch 中任意两个 ViewController 之间转换?

swift - 在 iOS 8 上呈现 NIB 模态崩溃,但在 iOS 9+ 上不会

ios - 在 UISplitView 中连接主视图和详细 View

iOS Storyboard中的 View Controller 被分组到另一个 Storyboard中

objective-c - 使用 CAGradientLayer 时的内存错误

iphone - 如何判断 Xcode 是否在脚本中执行 "build and archive"?