如何申请 Family Controls 权限

如何申请 Family Controls (Distribution) 权限:解决应用分发问题的完整指南

近日,在打包或上传使用 Screen Time API(Family Controls)的应用时,许多开发者遇到了如下警告,导致应用无法成功分发:

Bundle identifier is using development only version of Family Controls (Development) capability. Please request access to Family Controls (Distribution) to avoid issues when distributing.

核心问题 :您当前的 App ID 仅拥有 Family Controls (Development) 权限,该权限仅用于开发调试。若要提交到 App Store 或进行任何形式的分发(如 TestFlight),您必须为其申请 Family Controls (Distribution) 权限。

别担心,本文将为您提供从问题诊断到成功申请的完整流程图解。


一、 问题诊断:你遇到这个问题了吗?

如果你的应用包含以下特征,很可能需要走此申请流程:

  1. 使用了 FamilyControls 框架。
  2. 使用了 ManagedSettings 框架。
  3. 实现了应用限时、设备活动监控、网站内容过滤等功能。
  4. 在打包归档(Archive)或上传至 App Store Connect 时,收到了本文开头提到的错误提示。

!图片链接
错误提示明确指出需要申请分发权限

二、 完整申请流程(分步教学)

请严格按照以下步骤在 Apple Developer 后台进行操作。

第 1 步:访问 Apple Developer 账户

  1. 登录 https://developer.apple.com
  2. 点击右上角进入 "Account"

第 2 步:导航至证书与标识符管理页

  1. 在左侧边栏,找到并点击 "Certificates, Identifiers & Profiles"
    这是管理你应用所有核心配置的中心。

第 3 步:找到你的 App ID 并编辑

  1. 在左侧边栏的 "Identifiers" 下,点击 "App IDs"
  2. 在列表中找到与你项目 Bundle Identifier 完全对应的 App ID,并点击其标识符名称进入详情页。

第 4 步:关键操作 - 申请 Distribution 权限

  1. 在 App ID 的配置页面,找到 "Capabilities" (功能) 列表。

  2. 滑动找到 "Family Controls" 这一项。

  3. 你会看到它当前的配置状态是:"Development"(并且可能有一个黄色的警告图标)。

  4. 点击 "Family Controls" 右侧的 "Configure" 按钮。

    这里就是解决所有问题的关键入口!

第 5 步:提交权限申请表单

点击 "Configure" 后,系统会弹出一个申请表单。请认真填写以下信息:

  1. 描述你的使用场景 (Description):

    • 要清晰、具体。 不要只写"用于控制使用时间"。
    • 优秀示例: "本应用是一款时间管理与专注力提升工具,旨在帮助用户(特别是家庭成员)合理规划设备使用时间。我们使用 FamilyControls 框架来让家长为孩子设置应用和网站的使用时长限制,并使用 DeviceActivity 扩展来报告设备活动情况,以达成健康数字生活的目标。"
    • 强调你的应用如何帮助用户,以及具体使用了哪些相关的 API(如 DeviceActivityMonitorAppRestriction 等)。
  2. 选择使用此功能的原因 (Reasons for using this capability):

    • 通常需要勾选所有符合你应用功能的选项,例如:
      • Allow users to set restrictions on device usage (允许用户设置设备使用限制)
      • Monitor device activity (监控设备活动)
      • Filter web content (过滤网页内容) (如果用到)
  3. 提供任何其他信息 (Additional Information):

    • 如果您的应用有特殊的设计(例如,为学校或企业定制),可以在此说明。
    • 可以再次强调应用已遵循所有相关的隐私政策和指南。
  4. 阅读并同意条款:

    • 仔细阅读 Apple 关于使用 Family Controls 的声明和条款,然后勾选确认框。
  5. 提交申请:

    • 检查信息后,点击 "Submit""Request" 按钮提交你的申请。

第 6 步:等待审核并检查状态

  1. 提交后,状态会变为 "Pending" (待处理)。
  2. Apple 的审核团队会手动审核你的申请。此过程通常需要 1 到 5 个工作日,请耐心等待。
  3. 你可以不时回到 "App IDs" 列表页,查看该 App ID 的状态。当 "Family Controls" 能力旁边的状态变为 "Configurable" 或直接显示为 "Enabled" 时,表示申请已通过。

第 7 步:更新本地配置

申请在后台通过后,你本地的开发环境可能不会自动同步。为确保分发成功,请完成以下步骤:

  1. 更新描述文件 (Provisioning Profile):

    • 重新进入 "Profiles" 部分。
    • 为你用于分发的配置文件(通常是 iOS App Distribution)点击 "Edit" ,然后简单地重新选择一遍你的 App ID 和证书,生成并下载新的配置文件
    • 或者在 Xcode 中,前往 Preferences -> Accounts -> 你的账号 -> 点击左下角"Download Manual Profiles" 手动下载。
  2. 在 Xcode 中清理并重建:

    • 在 Xcode 中,为你的应用主 Target 和所有相关扩展(如 DeviceActivityMonitor 扩展)的 "Signing & Capabilities" 选项卡中,确认 "Family Controls" 能力已启用。
    • 执行 Product -> Clean Build Folder
    • 重新归档 (Product -> Archive)。

三、 总结与注意事项

  • 权限分离Family Controls (Development)(Distribution) 是两种独立的权限。开发权限在首次在 Xcode 中添加能力时自动获得,但分发权限必须手动申请
  • 提前申请 :建议在开发完成、准备测试分发(如 TestFlight)或上架前,提前申请此权限,以免耽误进度。
  • 描述是关键:申请表单中的描述部分是人工审核的重点,清晰、诚实、具体的描述能大大提高通过率和速度。
  • 影响范围:此权限与你的 App ID(Bundle Identifier)绑定。如果你有多个应用(不同的 Bundle ID)需要使用此框架,每个都需要单独申请。
相关推荐
shankss17 小时前
GetX 状态管理详解
android·flutter·ios
shankss21 小时前
Flutter 项目启动全流程详解
android·flutter·ios
杭城小刘3 天前
Weex 底层原理与 APM
ios·前端框架·weex
2501_924064113 天前
2025年移动应用渗透测试流程方案及iOS安卓测试方法对比
android·ios
JosieBook4 天前
【若依】若依(RuoYi)框架中用户角色登录后访问接口报 403 “当前操作没有权限”错误的完整解决方案
若依·权限
鼹鼠SDN4 天前
【保姆教程】iPhone、iPad上玩电脑游戏 异地串流
ios·iphone·ipad·moonlight·sunshine·串流·科技数码
初级代码游戏4 天前
iOS开发 SwiftUI 2 : Image
ios·swiftui·swift
TheNextByte14 天前
如何在不使用 iCloud 的情况下备份 iPhone 短信
ios·iphone·icloud
denggun123454 天前
内存优化-(二)-oc&swift
ios·性能优化·cocoa·内存·swift