You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DeviceActivityReport无法向主应用展示报告数据问题求助

解决DeviceActivityReport数据库权限拒绝问题

以下是几个排查和解决该问题的关键点:

  • 确认权限请求的实际结果:别只调用AuthorizationCenter.shared.requestAuthorization(for: .individual),一定要检查授权状态。在展示报告前,用AuthorizationCenter.shared.authorizationStatus(for: .individual)确认返回值为.authorized。另外,权限请求是异步操作,必须等用户授权完成后再初始化DeviceActivityReport,避免请求未返回就急于展示视图。

  • 补全报告扩展的Info.plist配置:你当前的配置仅添加了com.apple.developer.family-controls,但报告扩展还需要基础的扩展点配置。要确保Info.plist里包含NSExtension字典,指定正确的扩展类型和主类:

<key>NSExtension</key>
<dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.deviceactivity.report-extension</string>
    <key>NSExtensionPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).DeviceActivityReportExtension</string>
</dict>

这个配置是系统识别报告扩展的必要条件,缺失的话即使权限开启也会导致数据库访问失败。

  • 确认权限范围匹配:.individual权限仅能监控当前用户的设备活动,如果你的设备加入了家庭组,或实际需要监控家庭其他成员,需换成请求.family权限。如果是个人使用,检查系统设置中是否真的给了app对应权限(路径:设置→屏幕使用时间→内容和隐私访问限制→你的app)。

  • 重置权限缓存:有时候系统权限缓存会出现异常,试试重启设备,或删除app后重新安装并重新授权权限,这类玄学问题常能通过重启解决。

  • 检查DeviceActivityFilter的合法性:若filter的时间范围、应用/类别配置有误,也可能触发看似权限问题的报错。确保filter的interval是有效时间区间,activities里的规则无冲突或非法值。

内容的提问来源于stack exchange,提问作者Imran0001

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:53:13