如何在 Xcode 13 / iOS15 中测量能源使用情况?

问题描述 投票:0回答:2

我想确认我在 iOS 上开发的应用程序的电池使用情况,特别是在 Xcode 13 和 iOS 15 上。(注意:此应用程序之前在以前版本的 iOS 上没有显示电池使用问题。)

以前,收集能源使用信息似乎有两种方法:

#1。在设备上的“设置”>“开发者”>“日志记录”下

  • 根据标题为“直接在 iOS 设备上记录能源使用情况”部分中描述的Apple 文档
  • 但是,在iOS15上,即使在搜索时,我也无法在开发人员或设置下的任何位置找到任何用于登录的选项。

#2。使用“能量日志”模板通过仪器进行分析

  • 按照“使用能源诊断分析模板”部分中描述的Apple 的相同文档
  • 虽然它在 Xcode 12 中仍然可用,但 Xcode 13 中缺少此模板。当然,也无法使用 Xcode 12 分析 iOS15 设备。

深入研究 Xcode 13 发行说明,我发现了以下内容:

仪器不再包含能量模板;请改用 Xcode Organizer 中的指标报告。 (74161279)

当我在 Xcode(12 或 13)中访问管理器时,选择一个应用程序并单击该应用程序所有版本的“Energy”,它会显示以下内容:

Apple 的“分析运输应用程序的性能”文档 说:

“在某些情况下,该窗格会显示“可用的使用数据不足”,因为参与的用户设备可能没有报告足够的匿名数据。发生这种情况时,请尝试在几天后回来查看。”

生产已经一年多了,并且已经有了足够的安装数量,我有一种感觉,等待几天可能没有多大作用。

我想确定这是我的应用程序中的错误还是iOS15中的错误。如何在 iOS 15 上使用 Xcode 13 收集能源使用数据?

instruments battery ios15 xcode13
2个回答
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),截至今天它们仍处于“打开”状态。

就我的应用程序和我遇到的问题而言,事实证明电池耗尽只是一种症状,而不是实际问题,因此在此处包含任何这些详细信息都是没有用的。


0
投票

值得注意的是,Xcode 的“调试”导航器中确实有一个

Energy Impact
部分。

一旦您开始,还有一些“隐藏”工具可用,例如“时间分析器”。单击右上角的 + 按钮查看可用选项。

© www.soinside.com 2019 - 2024. All rights reserved.