如何在iOS 10下的SDK项目中查看NSLog

时间:2017-01-05 18:56:28

标签: ios objective-c frameworks nslog mfi

我有一个SDK项目,它将编译和构建一个框架。在这个项目中,我有我的人在那里显示NSLog。我有另一个框架测试应用程序来使用此框架来完成我的任务。升级到iOS 10和Xcode 8后,我注意到所有的NSLog都没了。我无法在任何地方找到它。

我搜索并找到了这个答案:iOS 10 doesn't print NSLogs,我尝试了我的SDK项目和我的框架测试应用程序,添加 OS_ACTIVITY_MODE "禁用"但是,它仍然没有显示NSLog。

更新:我还有一台设备是iOS 9,我尝试了一下,NSLog仍然显示在设备控制台中。使用Mac的控制台应用程序我也可以看到自己的日志。

这是一个MFI项目,因此我无法直接调试此项目,因为照明电缆始终与我的硬件连接。我只能使用日志来查看发生了什么。

3 个答案:

答案 0 :(得分:0)

OS_ACTIVITY_MODE设置为disable删除在项目运行期间打印的OS活动状态。 OS_ACTIVITY_MODE仅在x-Code 8.0中打印,但当您将x-code8.0升级到8.1时,您会发现它不会打印任何操作系统控制台。但在整个程序中,我发现NSLog正常运作。

为了确认我只需更新旧项目并将其运行到x-code 8.1。输出如下图像

环境变量

enter image description here

Nslog代码

enter image description here

控制台打印

enter image description here

  

建议

我已经通过多个项目以多种方式检查了您的问题,但我没有发现任何问题。所以我建议你

  1. 更新您的x代码 或
  2. 完全删除之前的x-code后重新安装x-code
  3. 因为如果它是x-code错误,我也必须在每次实验中都面对同样的事情。

    如果您还有任何疑问,可以提出。

答案 1 :(得分:-1)

Apple对NSLog的工作方式做了一些改变,我可能你可能无法获得它们。

我的建议是将NSLog更改为不使用NSLog打印到输出控制台的内容。

我是一个名为Bugfender的产品的联合创始人可能对您有所帮助,我们所做的是我们提供的BFLog功能会将日志打印到控制台并将其上传到我们的服务器,因此您可以随时检查日志,而无需将设备连接到计算机。

我们的产品唯一的问题是它不是实时的,但通常会延迟几秒钟。我们的一些客户正在使用它来调试应用程序而不是使用XCode控制台。

答案 2 :(得分:-1)

enter image description here

如果设置了此项,则无法在设备中看到任何日志,但您可以在模拟器中看到该日志。