【问题标题】:NSLog bad in production. Why? [duplicate]NSLog 在生产中不好。为什么? [复制]
【发布时间】:2015-05-04 19:20:47
【问题描述】:

post 表明生产中的 NSLog 是一个非常糟糕的主意。我试图理解为什么。以下是我的一些理论。

  1. NSLog,仅在 main_thread(UI 线程)上记录,因此即使从其他线程记录也是一个坏主意(涉及线程切换)。
  2. NSLog,写入输出流,完全阻塞进程。

谁能告诉我还有哪些其他理论存在?或者如果有人知道确切的解决方案。

【问题讨论】:

  • 为什么在生产版本中需要 NSLog ?您与问题相关的帖子中也有原因和解决方案。
  • @MidhunMP:我知道这需要资源,我正在尝试了解哪些资源。

标签: ios objective-c nslog


【解决方案1】:

这也是一种安全责任。您不希望公开有关付款交易、余额..信用卡号..或您(受您的客户)法律约束不得披露的任何其他信息。

【讨论】:

  • 在这种情况下,建议是“不要使用 NSLog 敏感数据”,而不是“避免在生产环境中使用 NSLog”
  • 您不会将应用程序的安全性(和合法性)基于人为因素。曾经。为什么?因为这会因疏忽、诚实错误或蓄意破坏而极快地失败。