问题标签 [oslog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 斯威夫特:print() vs println() vs NSLog()
有什么区别print
,我应该在什么时候使用它们?NSLog
println
例如,在 Python 中,如果我想打印字典,我会print myDict
选择 ,但现在我有 2 个其他选项。我应该如何以及何时使用每个?
ios - 如何从 iPad/iPhone 检索使用 os_log 记录的消息?
我在 Swift 中使用新的统一日志记录 API。
所以我创建了一个记录器并按如下方式使用它:
如果 iOS 设备与 Mac 断开连接,我如何检索记录的消息?
我知道新的控制台应用程序显示设备连接到 Mac 时记录的消息。但是,我想检索设备与计算机断开连接时记录的消息。我怎样才能做到这一点?
谢谢你。
ios - os.log 是干什么用的?
我正在阅读一些关于如何构建简单应用程序的 Swift 教程,因为我刚刚开始编写代码。我想让我的应用程序与 iOS 9 兼容,因为我有一个 iPad 3。但是,所有os.log
语句都会在 Xcode 中生成一个错误,告诉我if #avaliable
在任何语句之前添加一个os.log
语句。os.log 有什么作用,如果我需要它,使用if #avaliable
iOS 9 兼容性声明是否存在问题?如果不是,iOS 9 在else
语句之后的if #avaliable
语句中的等效代码是什么?谢谢。
ios - 如何将应用程序日志写入文件并获取它们
我正在 iOS 开发中迈出小步,并寻找一种在 iOS 中使用登录的方法。
我找到了这些关于使用 swift 3 进行日志记录的文档:https ://developer.apple.com/documentation/os/logging#1682426
文档说日志没有保存在磁盘上。获取日志和处理文件的典型方法是什么?
swift - 如何打开/查看存储在设备上的 iOS OSLogs?
我正在使用 Apple 的os.log
框架创建日志。我只是在制作如下日志:
我确实在控制台和调试器中看到了日志。
我已经阅读了这篇文章,并且能够成功下载容器(只是不确定容器是否包含我要查找的内容,或者这是否是查看的正确位置)。然后我点击显示包:
但在那之后我只看到:
我查看了所有文件。这些文件只包含以下数字:
我应该做一些额外的事情还是我找错地方了?
EDIT1:在日航的建议之后:
我查看了(文档,库,tmp)。有plist
和ktx
文件。和function.data
&map.data
文件。
我查看了这些文件:
还有这些文件:
我尝试使用控制台打开它们,但得到如下图所示的乱码结果:
编辑2:
所以首先我没有权限打开/var/db/diagnostics
,我必须这样做sudo bash
。然后我做了cd /var/db/diagnostics
并看到了这些文件。
然后我做了open -a console logdata.Persistent.20170725T015616.tracev3
(我也尝试了其他.tracev3
文件),但是控制台刚刚打开并开始实时跟踪,就像我刚刚正常打开控制台一样......
ios - Apple iPhone - 使用控制台调试 -?
我正在使用控制台调试 iPhone 7
- 我
<private>
在大多数信息上都看到了。我能够访问不显示的 Xcode 模拟器 iPhone 7 设备<private>
。但是我需要在手机上调试 passkit 通行证。
我认为我的设备开发证书在钥匙串中-我是愚蠢的吗?
您如何调试真正的 iPhone 并访问完整信息?
swift - Swift 统一日志记录
我正在寻找一些有关如何正确快速登录的信息。我找到了统一日志记录:https ://developer.apple.com/documentation/os/logging 。
尝试时,我无法弄清楚如何仅查看我定义的子系统和类别的日志。ios模拟器的系统日志有没有办法在控制台中只包含与应用程序相关的日志?我在控制台和模拟器的系统日志中都看不到应用程序日志。
这是我的代码:
ios - Apple 推荐的 Swift 日志记录方法
笔记:
这不是链接问题的重复
目标:
- 我不是在找一个
print
vsNSLog
差异 - 事实上我不想使用它们中的任何一个(目前使用
print
) - 我正在寻找Apple推荐的方式,只是似乎找不到命令/文档,我只知道它存在。
目前的实施:
目前我正在使用print
带有一些全局函数的语句
问题
- 处理错误的推荐方式/方法是什么(我不想使用 NSLog,因为它们会写入设备的控制台)
- 这仅用于开发期间的调试目的
swift - 使用 os_log 记录函数参数或其他动态数据
我正在尝试os_log
像这样记录函数参数:
但出现错误:
无法将“String”类型的值转换为预期的参数类型“StaticString”
那么如何记录函数参数或任何其他动态数据?
ios - 从 iOS 设备获取统一系统日志
我正在尝试使用统一日志记录来记录消息并从设备中检索它们以进行检查。我创建了一个新OSLog
实例
然后我用
这在 Xcode 控制台中运行良好。应该可以通过以下方式从 Xcode 设备中检索这些日志
- 进行 sysdiagnose (正如Apple 在此处解释的那样)
- 将 sysdiagnose 传输到 Mac,然后
system_logs.logarchive
使用 Console.app 或log
命令行工具检查日志(in )。
当我这样做时,我的任何日志都不会显示。没有显示具有预期子系统(捆绑 ID)的日志。
但是system_logs.logarchive
,如果我通过grep
或直接检查日志文件,vim
则会出现消息。所以它们在日志中,但出于某种原因,Console.app 也log
不会显示它们。我确保 Console.app 设置为显示“所有消息”并且我没有输入任何搜索词。
我错过了什么步骤,或者哪些细节需要不同?