我正在使用Console来调试iPhone 7
<private>了大多数信息.我能够访问没有显示的Xcode模拟器iPhone 7设备<private>.但是我需要在手机上调试passkit传递.我认为我的设备开发证书是钥匙串 - 我是傻吗?
如何通过访问完整信息来调试真正的iPhone?
The*_*ght 15
细节来自Apple的统一日志记录.如果调试消息是动态字符串,则默认情况下<private>将显示.
为了使数据打印出实际的字符串,必须public在发送到日志记录时声明该字符串.例如,在Swift中,这将显示发送到记录器的文本,因为它是一个静态字符串:
static let logger = OSLog(subsystem: "com.company.myApp", category: "myCategory")
os_log(logger, "Some text that will display correctly");
Run Code Online (Sandbox Code Playgroud)
但是,这将显示 Some string: <private>
os_log(logger, "Some string: %s", "text that will display <private>")
Run Code Online (Sandbox Code Playgroud)
为了使文本按预期显示,需要使用public标记声明:
os_log(logger, "Some string: %{public}s", "text that will display as expected")
Run Code Online (Sandbox Code Playgroud)
如果您只是查看第三方应用程序的日志,那么默认情况下您将无法查看数据.
但是,有一些报告说可以使用log命令行实用程序查看编辑数据:
sudo log config --mode "private_data:on"
Run Code Online (Sandbox Code Playgroud)
据我所知,Apple没有记录这一点.