Crashlytics CLS_Log vs. NSLog for production apps



这不是一个具体的问题,但我很好奇是否有人曾经使用过Crashlytics SDK提供的CLSLog()或CLSNSLog()?

到目前为止,我的应用程序一直相当小,我一直在打开 NSLog,甚至在它们仍然保持机智的情况下提交最终应用程序。 事后看来,我可能应该关闭这些,使用其他日志记录系统,或者 #define 一个 DEBUG var 在发布时禁用它们,因为我在其他帖子中看到人们讨论过。

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

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

在标题中,包括:

#define 调试 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 仪表板。

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

#ifdef DEBUG
#define NSLog(...) CLS_LOG(__VA_ARGS__)
#define ServerURL    @"http://TestServer"
#else
#define ServerURL    @"http://RealServer" 
#define NSLog(...)

最新更新