Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用nslog会危及测试人员的安全吗_Iphone_Objective C_Ipad_Ios5 - Fatal编程技术网

Iphone 使用nslog会危及测试人员的安全吗

Iphone 使用nslog会危及测试人员的安全吗,iphone,objective-c,ipad,ios5,Iphone,Objective C,Ipad,Ios5,我在谷歌上搜索,找不到任何可能意味着答案是否定的东西,但如果我不小心在记录收到的互联网消息(聊天)时留下了nslog,我可以向我的测试人员保证这是私人信息,或者有没有办法检索它。当我在谷歌上搜索时,你似乎需要插入设备并运行它来查看数据。我不认为任何人有这样的机密信息,它只是一个游戏服务器,但我希望能够让人们知道,如果他们有疑问,他们的应用程序的使用是多么隐私,即使我不打算出去寻找任何人的聊天日志自己 迈克你记录的任何东西最好被认为是自动公开的。永远不要记录潜在的私有信息,尤其是在生产环境中。它是

我在谷歌上搜索,找不到任何可能意味着答案是否定的东西,但如果我不小心在记录收到的互联网消息(聊天)时留下了nslog,我可以向我的测试人员保证这是私人信息,或者有没有办法检索它。当我在谷歌上搜索时,你似乎需要插入设备并运行它来查看数据。我不认为任何人有这样的机密信息,它只是一个游戏服务器,但我希望能够让人们知道,如果他们有疑问,他们的应用程序的使用是多么隐私,即使我不打算出去寻找任何人的聊天日志自己


迈克

你记录的任何东西最好被认为是自动公开的。永远不要记录潜在的私有信息,尤其是在生产环境中。它是否可以被检索(它可以被检索)甚至都无关紧要。

您记录的任何内容最好被认为是自动公开的。永远不要记录潜在的私有信息,尤其是在生产环境中。它是否可以被检索(它可以被检索)甚至无关紧要。

NSLog将写入他们设备上的系统日志。从
NSLogv
上的文档:

将错误消息记录到Apple系统日志工具(参见手册3 asl)。如果STDERR_文件未重定向任何文件描述符 从默认值或将成为tty,它也将被写入其中


因此,数据以明文形式存储在设备上。如果存在敏感数据,这不是最佳做法。作为开发人员,检索它对您来说不是一件小事,但它仍然存在,这并不伟大。我建议您在发布版本中禁用NSLog(您确定不是吗?在您自己的设备上运行发布版本时,您是否在Xcode中查看了控制台?

NSLog将写入他们设备上的系统日志。从
NSLogv
上的文档:

将错误消息记录到Apple系统日志工具(参见手册3 asl)。如果STDERR_文件未重定向任何文件描述符 从默认值或将成为tty,它也将被写入其中

因此,数据以明文形式存储在设备上。如果存在敏感数据,这不是最佳做法。作为开发人员,检索它对您来说不是一件小事,但它仍然存在,这并不伟大。我建议您在发布版本中禁用NSLog(您确定不是吗?在您自己的设备上运行发布版本时,您是否在Xcode中查看了控制台?

通过插入设备,可以在事后查看日志。我相信即使设备被密码锁定,这也能起作用

有限的长度表明日志可能只在内存中,但不能保证——苹果可能会将它们保存到闪存中以用于崩溃报告

也不能保证它们不能被其他进程读取。

通过插入设备,可以在事后查看日志。我相信即使设备被密码锁定,这也能起作用

有限的长度表明日志可能只在内存中,但不能保证——苹果可能会将它们保存到闪存中以用于崩溃报告


也不能保证它们不能被其他进程读取。

这只是针对测试人员的构建,我只有几个测试人员。我记录的是在聊天控制台中输入chat以调试解析器。我确实把它关掉了,但有时如果我在用它,我会把它开着。实际上,没有任何敏感信息,没有财务或敏感信息,但我想尊重我的测试人员的隐私,不让他们认为我可以阅读他们的私人聊天,如果他们有时间聊天(与公共聊天相反)它是否会在下一次运行程序时删除?如果我不打开它,他们会将所有聊天日志存储在设备上,这当然不理想。我不认为他们有太大的安全隐患,除非他们在聊天中提供敏感信息,但如果我需要打开它进行调试,我应该更好地关闭它。其中一部分原因是我在一周内完成了许多构建,其中一个可能会时不时地打开它。我只是记录传入聊天,而不是传出我在记录时所说的内容,因为传出对我来说并不重要。我不需要解析它,除非它传入。你是直接从你的机器上构建,还是分发ipa?通常情况下,我会使用release设置制作ipa,并执行以下操作:尝试在您自己的设备上使用共享的build进行测试(查看organizer中的控制台,或在设备上使用控制台应用程序)。我不确定控制台日志缓冲区有多大,但它似乎不会在运行之间重置。有很多方法可以确保它处于关闭状态,例如在发布版本中打开
-Werror
,并在执行日志的代码旁边使用类似于
#warning“Dev logging”
的内容。这仅适用于测试人员的版本,我只有几个测试人员。我记录的是在聊天控制台中输入chat以调试解析器。我确实把它关掉了,但有时如果我在用它,我会把它开着。实际上,没有任何敏感信息,没有财务或敏感信息,但我想尊重我的测试人员的隐私,不让他们认为我可以阅读他们的私人聊天,如果他们有时间聊天(与公共聊天相反)它是否会在下一次运行程序时删除?如果我不打开它,他们会将所有聊天日志存储在设备上,这当然不理想。我不认为他们有太大的安全隐患,除非他们在聊天中提供敏感信息,但如果我需要打开它进行调试,我应该更好地关闭它。其中一部分原因是我在一周内完成了许多构建,其中一个可能会时不时地打开它。我只是记录传入聊天,而不是传出我在记录时所说的内容,因为传出对我来说并不重要。我不需要解析它,除非它传入。你是直接从你的机器上构建,还是分发ipa?通常我会制作一个带有释放设置的ipa,然后这样做