我想确认我在 iOS 上开发的应用程序的电池使用情况,特别是在 Xcode 13 和 iOS 15 上。(注意:此应用程序之前在以前版本的 iOS 上没有显示电池使用问题。)
以前,收集能源使用信息似乎有两种方法:
#1。在设备上的“设置”>“开发者”>“日志记录”下
#2。使用“能量日志”模板通过仪器进行分析
深入研究 Xcode 13 发行说明,我发现了以下内容:
仪器不再包含能量模板;请改用 Xcode Organizer 中的指标报告。 (74161279)
当我在 Xcode(12 或 13)中访问管理器时,选择一个应用程序并单击该应用程序所有版本的“Energy”,它会显示以下内容:
“在某些情况下,该窗格会显示“可用的使用数据不足”,因为参与的用户设备可能没有报告足够的匿名数据。发生这种情况时,请尝试在几天后回来查看。”
生产已经一年多了,并且已经有了足够的安装数量,我有一种感觉,等待几天可能没有多大作用。
我想确定这是我的应用程序中的错误还是iOS15中的错误。如何在 iOS 15 上使用 Xcode 13 收集能源使用数据?
就这个问题联系Apple开发者技术支持(DTS)后,他们为我提供了以下指导。
关于可通过 Xcode 管理器访问的能源日志的“可用使用数据不足”:
DTS 表示,他们不会发布活跃用户的阈值,并且预计会出现使用日志 如果您的应用程序的每个版本上始终有超过几千个活跃用户。如果您的应用程序满足此标准但仍然不显示能源日志,DTS 建议与他们一起打开错误报告。
关于如何为您的应用收集能源日志数据:
DTS 建议使用 MetricKit 来获取每日指标负载。有效负载每 24 小时传送到您的应用程序,然后就可以使用它们并将它们发送出设备。
其实例化非常基本,可以简单如下:
import MetricKit
...
// Somewhere in your application startup sequence:
MXMetricManager.shared.add(someObjectYouWantToHaveThisResponsibility)
...
extension SomeObjectYouWantToHaveThisResponsibility: MXMetricManagerSubscriber {
func didReceive(_ payloads: [MXMetricPayload]) {
for payload in payloads {
// Parse the payload here
}
}
}
有关指标的完整列表,请参阅 MXMetricPayload 类。
关于我上面包含的两个文档链接:
Apple 要求我打开反馈票以进行更新。我于 2021 年 9 月 30 日打开了两张票(FB9665186、FB9665194),截至今天它们仍处于“打开”状态。
就我的应用程序和我遇到的问题而言,事实证明电池耗尽只是一种症状,而不是实际问题,因此在此处包含任何这些详细信息都是没有用的。