如何在 iOS 10 下查看我的 SDK 项目中的 NSLog
Posted
技术标签:
【中文标题】如何在 iOS 10 下查看我的 SDK 项目中的 NSLog【英文标题】:how to see NSLog in my SDK project under iOS 10 【发布时间】:2017-01-05 18:56:28 【问题描述】:我有一个 SDK 项目,它将编译和构建一个框架。在这个项目中,我的人 NSLog 显示在那里。我有另一个框架测试应用程序来使用这个框架来完成我的任务。升级到 ios 10 和 Xcode 8 后,我注意到所有的 NSLog 都消失了。我在任何地方都找不到它。
我搜索并找到了这个答案:iOS 10 doesn't print NSLogs,我尝试了我的 SDK 项目和我的框架测试应用程序,添加了 OS_ACTIVITY_MODE “禁用”,但是它仍然没有显示 NSLog .
更新:我还有一台设备是 iOS 9,我试了一下,NSLogs 仍然显示在设备控制台中。使用 Mac 的控制台应用程序,我还可以查看自己的日志。
这是一个 MFI 项目,因此我无法直接调试此项目,因为照明电缆始终与我的硬件连接。我只能使用日志来查看发生了什么。
【问题讨论】:
如果在真实设备上运行,您应该删除值disabled
,但保留OS_ACTIVITY_MODE
(选中)。
你到底发生了什么? OS_ACTIVITY_MODE
设置为disable
删除在项目运行期间打印的操作系统活动状态。
目前我正在使用另一个库github.com/CocoaLumberjack/CocoaLumberjack 来查看控制台、文件或系统日志中的所有日志。
【参考方案1】:
OS_ACTIVITY_MODE
设置为disable
删除在项目运行期间打印的操作系统活动状态。 OS_ACTIVITY_MODE
仅在 x-Code 8.0
中打印,但是当您将 x-code
从 8.0
升级到 8.1
时,您会发现它不会打印任何操作系统控制台。但在整个过程中,我发现NSLog
工作正常。
为了您的确认,我只是更新了我的旧项目并将其运行到x-code 8.1
。输出如下图
环境变量
Nslog 代码
控制台打印
建议
我已经在多个项目中以多种样式检查了您的问题,但没有发现任何问题。所以我只是建议你
-
更新您的 x 代码
或
在完全删除之前的
x-code
后重新安装x-code
。
因为如果是x-code
错误,我在每次实验中也必须面对同样的问题。
如果你还有什么疑问可以问。
【讨论】:
【参考方案2】:Apple 对 NSLog 的工作方式进行了一些更改,我可能无法获得它们。
我的建议是您将 NSLog 更改为在不使用 NSLog 的情况下打印到输出控制台的内容。
我是一个名为Bugfender 的产品的联合创始人,它可能会对您有所帮助,我们所做的是我们提供了一个 BFLog 功能,它将日志打印到控制台并将它们上传到我们的服务器,所以您可以随时查看日志,无需将设备连接到您的计算机。
我们的产品唯一的问题是它不是实时的,但通常会有几秒钟的延迟。我们的一些客户使用它来调试应用程序,而不是使用 XCode 控制台。
【讨论】:
【参考方案3】:如果你设置了这个,你在设备上看不到任何日志,但你可以在模拟器中看到。
【讨论】:
正如我在问题中所描述的,这对我不起作用。以上是关于如何在 iOS 10 下查看我的 SDK 项目中的 NSLog的主要内容,如果未能解决你的问题,请参考以下文章
如何让我的 iOS4.2 SDK 开发代码与 iOS3.1.3 一起工作?
如何在我的 C++ 项目中链接本地安装的 SDK 的静态库?