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

集成DeviceActivityReport扩展的App无法安装或上传TestFlight该如何解决?

解决DeviceActivityReport扩展上传TestFlight及安装错误的方案

核心原因

com.apple.deviceactivityui.report-extension类型的扩展不允许配置NSExtensionMainStoryboard或NSExtensionPrincipalClass,它依赖系统提供的标准化UI模板,仅需配置必要的扩展属性即可。上传TestFlight的错误通常源于扩展Info.plist的关键配置缺失。

具体解决步骤

  • 彻底移除扩展目标Info.plist中的NSExtensionMainStoryboard和NSExtensionPrincipalClass键,确保这两个配置项完全不存在。
  • 修正扩展的Info.plist中NSExtension字典的配置,示例如下:
    <key>NSExtension</key>
    <dict>
        <key>NSExtensionPointIdentifier</key>
        <string>com.apple.deviceactivityui.report-extension</string>
        <key>NSExtensionAttributes</key>
        <dict>
            <!-- 允许调用该扩展的主App Bundle ID -->
            <key>DeviceActivityReportExtensionAllowedBundleIdentifiers</key>
            <array>
                <string>com.your.mainapp.bundleid</string>
            </array>
            <!-- 可选:指定支持的报告类型,如屏幕使用时间等 -->
            <key>DeviceActivityReportExtensionSupportedReportTypes</key>
            <array>
                <string>com.apple.deviceactivity.type.screentime</string>
            </array>
        </dict>
    </dict>
    
  • 检查主App的Info.plist配置:
    • 确认已添加NSFamilyControlsUsageDescription键,并填写明确的权限使用说明(家庭控制类App必填)。
    • 确保主App的Bundle ID与扩展配置中DeviceActivityReportExtensionAllowedBundleIdentifiers的内容完全一致。
  • 清理项目后重新构建归档:
    1. 在Xcode中选择Product -> Clean Build Folder。
    2. 删除DerivedData目录(路径通常为~/Library/Developer/Xcode/DerivedData)。
    3. 重新生成归档并上传至TestFlight。

额外说明

若之前上传TestFlight的错误提示为扩展配置不完整,按上述步骤修正即可解决;添加UI入口键导致的安装错误,本质是违反了该扩展点的系统约束,移除后就能消除冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:29:58