9

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

到目前为止,我的应用程序还很小,而且我一直都在打开 NSLog,甚至在提交最终应用程序时它们仍然完好无损。事后看来,我可能应该关闭这些,使用其他一些日志记录系统,或者 #define 一个 DEBUG var,它会在发布时禁用它们,正如我在其他帖子中看到的人们讨论的那样。

无论如何,只是好奇是否有人以前使用过它?

4

2 回答 2

13

最好的方法是声明一个名为 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 仪表板。

于 2013-11-11T11:55:53.220 回答
1

我创建了一些.h包含我需要使用的所有常见常量的文件并将其添加到.pch文件中(为了不弄乱它)。我还CrashLytics通过 pod 导入(.pch如果我以通常的方式包含在项目中,为什么无法识别它)

#ifdef DEBUG
#define NSLog(...) CLS_LOG(__VA_ARGS__)
#define ServerURL    @"http://TestServer"
#else
#define ServerURL    @"http://RealServer" 
#define NSLog(...)
于 2015-03-01T10:37:49.637 回答