首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >苹果iPhone -用控制台调试- <private>?

苹果iPhone -用控制台调试- <private>?
EN

Stack Overflow用户
提问于 2017-08-27 20:05:18
回答 2查看 7.1K关注 0票数 17

我正在使用控制台调试iPhone 7

  • 我在大部分信息上看到了<private>。我可以访问Xcode模拟器iPhone 7设备,它不显示<private>。但是,我需要调试电话上的passkit传递。

我认为我的设备开发证书在密钥链中--我是不是很蠢?

如何调试访问完整信息的真实iPhone?

EN

回答 2

Stack Overflow用户

发布于 2017-08-30 10:23:26

细节来自苹果的统一日志。如果调试消息是动态字符串,默认情况下,将显示<private>

为了让数据打印出实际的字符串,在发送到日志记录时,必须声明该字符串为public。例如,在Swift中,这将显示发送给记录器的文本,因为它是一个静态字符串:

代码语言:javascript
复制
static let logger = OSLog(subsystem: "com.company.myApp", category: "myCategory")
os_log(logger, "Some text that will display correctly");

但是,这将显示Some string: <private>

代码语言:javascript
复制
os_log(logger, "Some string: %s", "text that will display <private>")

为了使文本按预期显示,需要使用public标记声明它:

代码语言:javascript
复制
os_log(logger, "Some string: %{public}s", "text that will display as expected")

如果您只是查看第三方应用程序的日志,那么默认情况下您将无法查看数据。

但是,有一些有些报告可以使用log命令行实用工具看到经过编辑的数据:

代码语言:javascript
复制
sudo log config --mode "private_data:on"

据我所知,这不是苹果公司记录的。

卡塔利纳

请注意,由于引入了Catalina,上述的、无文档的开关被打破了。然而,现在可以用一个简单的、签名的配置配置文件来显示“私有”消息,正如霍华德·奥克利( Howard,这里 )所记录的那样

票数 39
EN

Stack Overflow用户

发布于 2018-09-21 08:07:37

对于iOS日志记录,您不能像对macOS那样更改单个设置。

如果您正在运行iOS的beta版本,则似乎收集了私有日志信息,因此这是一种选择。

另一种选择是查看此页上是否有涵盖所需日志记录的配置文件。

一旦安装了相关的配置文件,您将看到以前的<private>信息出现在iOS控制台日志中。

在我的例子中,我能够使用"Baseband“配置文件在处理CallKit扩展时启用调用者id日志。

要禁用私有日志记录,只需从设备上的常规设置中删除配置文件即可。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45908875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档