从2024年5月1日起,苹果要求所有App Store上的iOS应用程序包含隐私宣言。 这些文件,称为 PrivacyInfo.xcprivacy,说明应用程序和其依赖项如何处理用户数据。未遵守可能导致应用程序被拒绝或删除。以下是您需要了解的内容:
-
什么是隐私宣言?
一个结构化的文件,记录:- 应用程序和第三方 SDK 收集的数据。
- 用于敏感数据或跟踪的 API。
- 应用程序访问的域名。
-
为什么它很重要?
- 确保数据处理透明度。
- 保持 App Store 私有性标签准确。
- 避免应用程序审查延迟或拒绝。
-
关键合规步骤:
- 使用 Xcode 15 或更高版本来创建和配置。
PrivacyInfo.xcprivacy文件. - 所有API、数据类型和跟踪域名都应进行文档化。
- 从第三方SDK供应商处获取隐私清单。
- 使用Xcode的隐私报告进行验证。
- 使用 Xcode 15 或更高版本来创建和配置。
-
截止日期:
- 2024年5月1日: 开始执行。
- 应用程序必须包含隐私清单才能获得批准。
不符合规定的风险包括App Store拒绝、法律问题和用户信任丧失。自动扫描器和隐私生成器等工具可以简化此过程。请保持积极主动,以确保您的应用程序符合苹果的隐私标准。
WWDC23:了解隐私清单的使用 | Apple
苹果隐私清单规则
Apple的隐私宣言引入了一个要求对iOS应用程序的所有组件透明地披露数据收集和API使用的要求.
为了遵守这些要求,开发者必须包含一个 PrivacyInfo.xcprivacy 文件,该文件概述了三个关键元素:
- 必需原因API声明:明确说明使用特定API的原因.
- 数据使用类别:指定收集和使用的数据类型.
- 域使用文档:详细说明应用程序访问的域. [3].
遵守性截止日期
苹果已经设定了严格的截止日期来满足这些要求:
| 日期 | 里程碑 |
|---|---|
| 2024年5月1日 | 强制执行开始 |
| 2024年5月后 | 持续监控 |
这些日期突出了开发者必须将应用程序与新规则对齐以避免中断的紧迫性。
不符合规定的风险
不遵守这些指南可能导致严重后果,包括:
- 立即App Store拒绝: 不符合规定的应用程序将不会获得分发许可。
- 法律责任: 数据隐私泄露可能导致监管行动。
- 声誉损害: 用户可能会失去信任的应用程序,无法满足透明度标准 [2].
“使用特定 API 的应用程序必须在隐私清单文件中声明其意图,有效日期为 2024 年 5 月 1 日。” – Apple [6]
对于使用远程更新(OTA)解决方案的开发人员,如 Capgo,遵守规定尤为重要。这些更新机制,包括数据处理实践,必须在隐私清单中明确说明。
此外,每个 SDK 和框架都必须在应用程序中包含其自己的隐私清单,说明其数据收集和 API 使用情况。在 App Store 提交过程中,Xcode 将将这些单独的清单编译成统一的隐私报告 [3].
所需工具和设置
要在 iOS 应用程序中实现隐私清单,您需要设置开发环境,必要的工具和凭证。这些步骤将有助于您准备创建符合规定的 PrivacyInfo.xcprivacy 文件。
系统要求
确保您已安装并配置以下内容:
- Xcode 15 或更高版本: 这是支持隐私清单的最低版本 [1].
- 可在 Mac App Store (稳定版本) 中找到。
- Beta 版本可以从 Apple Developer 端口下载 [16]。
- macOS: 使用稳定版本以确保与 Xcode 的兼容性
开发者凭证
要与隐私清单一起工作并将您的应用提交到 App Store,您需要以下凭证:
| 要求 | 目的 | 验证 |
|---|---|---|
| 苹果开发者账号 | 用于应用提交和证书管理 | 需要每年订阅。 |
| 开发证书 | 启用 code 签名和开发构建。 | 必须是有效且最新的。 |
| 分发证书 | 用于提交应用到 App Store。 | 需要每 12 个月更新一次。 |
| 配置文件 | 用于设备测试和部署。 | 必须与应用程序的捆绑标识符保持一致。 |
创建您的 PrivacyInfo.xcprivacy 文件,打开Xcode并转到 新建 > 文件 > iOS > 资源 > 应用程序隐私 [1]。将此文件放入应用程序捆绑资源的根目录,以确保在构建过程中它会被识别。
从2024年春季开始,苹果将要求所有提交到App Store Connect的应用程序包含任何列出的API使用的批准原因 [7].
一旦您的工具和凭证准备就绪,您就可以直接在Xcode中移动到构建隐私清单文件的步骤中。
构建隐私清单文件
使用正确的步骤和工具,可以在Xcode中创建隐私清单文件。以下是如何设置和使用自动化来简化流程的步骤。
Xcode 设置步骤

-
创建隐私清单文件
打开Xcode,导航到 文件 > 新建 > 文件,并选择“App隐私文件”在资源部分。确保您的应用目标已在此过程中选中 [8].
-
配置必需密钥
将以下密钥添加到您的新创建的
PrivacyInfo.xcprivacy文件:密钥 描述 必需值 NSPrivacyTracking 指示应用程序是否使用跟踪数据 布尔值 (true/false) NSPrivacyTrackingDomains 跟踪域名列表 域名数组 NSPrivacyCollectedDataTypes 收集的数据类型 数据类型数组 NSPrivacyAccessedAPITypes API 访问详细信息 访问详细信息数组 -
Validate Configuration
在配置文件后,通过在 Xcode 中生成隐私报告来验证您的设置。要执行此操作:
- 前往 Product > Archive.
- 右键单击生成的存档文件。
- 选择 生成隐私报告 [8].
使用自动化工具可以帮助减少重复任务并确保一致性。
自动化方法
Privado.ai 集成
Privado 的隐私清单生成器(简称为隐私清单生成器),于 2024 年 6 月推出,简化了过程,自动化了 code 扫描和报告生成。这一工具:
- 扫描您的 code 和 SDK 依赖项。
- 数据收集实践的图表
- 自动填充隐私报告
- 直接将响应链接到源代码的相应部分code [10].
应用隐私清单修复工具
2025年4月推出的该工具使用shell脚本:
- 分析您的清单并自动解决合规性问题
- 与您的现有构建过程无缝集成
- 支持不同项目类型的自定义模板 [11].
为了获得一致的结果,请将这些工具包含在您的项目目录中。这确保了团队和CI/CD管道之间的清单生成顺畅
在使用 通过平台如 进行的无线更新 Capgo确保您的隐私清单反映了任何与更新功能相关的数据收集或API使用。保持透明度对于遵守App Store要求并利用现代更新功能至关重要。
数据收集和API文档
在Xcode中构建了您的清单文件后,下一步就是记录您的应用程序的API使用和数据收集实践。这不仅是为了满足苹果的合规要求,还要建立与用户的信任。
API使用文档
您的 PrivacyInfo.xcprivacy 文件必须列出访问敏感信息的所有API。当在隐私清单中记录API使用时,包括API类别和批准的使用原因。
这里是需要记录的内容概要:
| API类别 | 常见使用 | 必需文档 |
|---|---|---|
| 文件时间戳 | 安装日期跟踪 | 声明目的 code (例如,C617.1) |
| 用户默认值 | 设置持久化 | 包含原因 code (例如,CA92.1) |
| 磁盘空间 | 更新验证 | 声明 NSPrivacyAccessedAPICategoryDiskSpace 使用原因 |
这种详细程度确保了您的清单文件与数据收集实践之间的无缝连接。
“您负责在您的应用程序中包含的所有 code,遵循 App Store Review 指南。这包括任何数据收集和跟踪实践。” - Tony,Apple 私隐工程师 [5]
在实现即时更新时,请特别注意 硬盘空间 API 声明例如,Firebase Analytics 版本 10.24.0 在 2024 年 4 月解决了 ITMS-91053 错误,通过解决与 NSPrivacyAccessedAPICategoryDiskSpace 和 NSPrivacyAccessedAPICategoryUserDefaults [12].
数据类型和类别
您的隐私清单必须清晰地列出收集的所有数据类型,并将它们分类。具体来说,您需要记录以下内容:
- 数据是否与用户身份相关联。
- 数据是否用于跟踪目的。
- 如果两者都适用,请指定 Apple 预定义列表中的批准目的。
使用第三方 SDK 的应用程序必须确保每个 SDK 都包含自己的隐私清单。例如,Persona SDK v2.18.0+ 自动声明以下数据类型:
- 粗糙位置 (e.g., IP 地址)
- 设备 ID (设备级别识别)
- 用户 ID (账户级别识别)
- 诊断数据 (例如,错误日志)
- 产品交互 (例如,流事件)
为了保持合规,定期审计您的代码库,以识别需要在隐私清单中包含的 API [13]这种主动的审查可以帮助避免提交延迟,并保持您的应用与苹果不断演进的隐私标准保持一致
第三方 SDK 管理
第三方 SDK 必须符合苹果隐私宣言标准,以遵守法规并维持用户信任。这些标准,早些时候讨论过,同样重要的第三方 SDK。以下是关于管理 Capacitor 应用 OTA 更新和确保 SDK 合规性的详细信息。
Capacitor 和 OTA 更新
使用 Capacitor 应用 OTA 更新时,需要准确配置隐私清单。使用实时更新解决方案的应用程序需要在隐私清单中声明特定的 API 使用情况:
| API 类别 | 必需声明 | 目的 |
|---|---|---|
| 磁盘空间 | NSPrivacyAccessedAPICategoryDiskSpace | 更新包存储 |
| 用户默认值 | NSPrivacyAccessedAPICategoryUserDefaults | 更新配置 |
| 网络访问 | NSPrivacyAccessedAPICategoryNetworkInformation | 更新分发 |
Capgo 简化了此过程,通过将隐私清单遵从性整合到其 OTA 更新系统中。它自动声明所需的 API 和数据访问权限,使您的应用程序始终保持遵从性,同时从实时更新中受益。
现在,让我们探索验证 SDK遵从性的关键步骤。
SDK遵从性检查
解决 OTA 更新申报后,必须确保所有集成的 SDK 都符合必要标准。由于 88% 的组织使用数千个云应用 [16],强大的 SDK遵从性检查是必不可少的。
-
自动扫描
使用工具,如 Ostorlab.co 来扫描您的应用程序的 IPA 文件 [1]. 这些信息与您的 Xcode Privacy Report 提供的见解相辅相成,提供了对您的应用程序遵守性分析的全面分析。 -
版本管理
如果一个 SDK 缺乏隐私清单,您需要手动在应用程序中声明其数据使用情况。PrivacyInfo.xcprivacy文件 [14]. 这一步确保了透明度和遵守苹果指南的要求。 -
安全实施
未经管理的 SDK 可能会导致严重后果。例如, Tilting Point Media 于 2024 年 6 月 18 日因未正确配置的 SDK 而面临 500,000 美元的罚款,违反了 CCPA 和 COPPA 规定。 [15]为了避免类似的陷阱:- 在 SDK 处理数据之前, 加密敏感数据。
- 按照最小权限原则限制不必要的权限。
- 持续监控应用程序中的SDK使用情况。
- 定期审计SDK策略,以确保它们仍然符合要求。
测试和提交流程
在提交应用程序之前,您需要测试您的隐私清单实现,遵循苹果的要求程序,有效日期为2024年5月1日 [9].
Xcode隐私报告
设置好隐私清单后,下一步就是测试其准确性。使用Xcode 15,打包您的项目并生成一个 隐私报告 [8]。该报告提供了应用程序声明的数据类型、SDK实践、API使用情况和跟踪域名的概览。
“Xcode 15可以聚合应用程序项目中的所有隐私清单,并生成一个隐私报告,概括了声明的数据使用情况……这有助于您审查、了解和描述应用程序及其依赖项的隐私实践。” - Tony,苹果隐私工程师 [5]
为了进一步验证,您可以使用Xcode 15中的兴趣点仪器来检测跟踪域名的任何连接 [5].
提交要求
After reviewing the Privacy Report, ensure the following key components are ready for submission:
| 要求 | 描述 | 验证方法 |
|---|---|---|
| 隐私清单文件 | .plist 记录数据收集的文件 | 确认 Xcode 中文件的存在 |
| SDK 合规 | 包含清单的隐私影响 SDK 必须 | 检查 SDK 文档 |
| API 使用声明 | 已批准的原因:必需原因 API | 与 App Store 数据匹配的隐私报告 |
| SDK 签名 | 必须签名的隐私影响 SDK | 验证 SDK 签名 |
重要步骤:
“检查隐私清单是否与您对第三方 SDK 功能的理解相符。” - Apple 私隐工程师 Tony [5]
为了实践例子,取 CodeWithChris 团队。2023 年 10 月,他们成功实施了 Apple 的隐私要求,同时构建了他们的情绪跟踪器应用。他们依赖于 Xcode 的隐私报告来确保他们的应用满足 Apple 的新标准之前提交 [18].
更新和维护
保持您的隐私清单最新与维护应用代码库一样重要。 隐私政策 不断更新确保遵守并简化审批流程。
政策更新跟踪
与苹果的隐私政策保持一致对于维持App Store的合规性至关重要。自2024年5月1日的强制执行日期以来,开发者必须密切关注隐私法规和API规范的变化。
| 更新类型 | 监控方法 | 所需操作 |
|---|---|---|
| 苹果政策变化 | 开发者门户通知 | 检查清单合规 |
| SDK变化 | 发布说明审查 | 更新隐私包 |
| API Requirements | Xcode Release Notes | 验证必需的原因API |
例如, InMobi's SDK 版本 10.7.2 包含了详细的隐私清单,这作为第三方文档的强例 [4].
“Developers are responsible for all code included in their apps” - Apple [4]
开发者负责在他们的应用程序中包含的所有 __CAPGO_KEEP_0__
- Apple
-
版本控制
除了监控政策更新之外,系统化的版本控制对于确保与苹果不断演进的要求长期保持一致至关重要。这一步骤建立在早期措施之上,帮助开发者保持一致性和责任感。 -
SDK 集成跟踪
SDK 版本和其相关隐私清单的详细日志。例如,Spotify 的移动团队通过精确的 SDK 跟踪和 2024 年 8 月的针对性修复,30 天内减少了应用程序崩溃的比例 15% [20]. -
变更管理
详细记录每个变更:- 记录更新的原因
- 注意受影响的 API 和数据类型
- 维护审计记录以简化合规审查
使用自动化构建和版本管理功能的版本控制工具可以使此过程更顺畅。例如, Appcircle的版本系统允许开发者管理构建号和通过环境变量或 Xcode 集成跟踪版本 [20].
总结和资源
遵守苹果隐私标准需要持续关注和合适的工具。管理隐私清单不是一次性任务 - 它需要准确性和定期更新。最近的发现表明许多开发者仍然落后于合规 [1].
以下是一些有助于简化实施的必备工具和资源:
| 资源类型 | 用途 | 访问方法 |
|---|---|---|
| Xcode隐私报告 | 验证隐私清单 | Xcode 15+ |
| Apple Developer Portal | 了解政策更新 | 开发者账户 |
| WWDC会议 | 获取技术指导 | Apple Developer app |
| SDK 文档 | 确保第三方遵从性 | 个人 SDK 门户 |
这些工具简化了遵从性维护的过程,尤其是验证和文档方面。开发者还可以探索隐私清单管理的自动化解决方案。例如, Capgo 提供了对 Capacitor 应用的实时更新功能,使开发者能够快速更新,同时符合 App Store 的要求。
从 2024 年春季开始,苹果将要求应用程序解决所有隐私清单和 Required Reason API 问题,才能在 App Store 提交或更新。 [5]为了保持领先地位,开发者应该:
- 从第三方 SDK 提供商中收集隐私清单。
- 记录所有跟踪域名和 Required Reason API 使用。
- 使用 Xcode 的隐私报告定期验证清单。
- 请全面记录数据收集实践。
对于进一步的指导,这些资源是必不可少的:
- Apple Developer Website: 关注隐私要求和政策变更的最新动态 [19].
- App Store Connect: 检视提交指南和要求 [19].
- WWDC Videos: 观看有关隐私的技术研讨会 [21].
FAQs
::: faq
如果iOS应用开发者未能在2024年5月1日前满足Apple的隐私清单要求会发生什么?
未能在2024年5月1日前满足Apple的隐私清单要求可能会导致 严重后果 对于 iOS 应用开发者来说,应用可能会在 App Store 审核过程中被拒绝,失去某些功能,甚至被从商店中移除。
此外,未遵守这些规定可能会导致未来的应用提交 面临更严格的审查,这可能会延迟审批时间。这些后果不仅会影响应用的可用性,还会损害用户的信任并减少应用在市场中的存在感。及时遵守截止日期有助于确保应用保持合规并可供您的目标受众访问。 :::
::: faq
开发者如何确保他们的 iOS 应用中的第三方 SDK 满足 Apple 的隐私清单要求?
要满足 Apple 的 隐私清单 要求,开发者必须在应用中包含一个 PrivacyInfo.xcprivacy 文件或SDK。该文件需要清晰地详细说明正在收集的数据类型,并解释使用特定 API 的目的。此外,开发者应该确认他们依赖的第三方 SDK 是否符合 Apple 的指南,是否需要隐私清单和签名。
从 2024 年 5 月 1 日起,所有提交到 App Store 的应用都必须遵守这些规则。开发者应该与他们的SDK供应商密切合作,以确保数据处理的准确报告,使应用的隐私清单更容易与应用的数据处理相符。遵循这些步骤不仅可以避免 App Store 拒绝,还可以通过促进数据处理透明度来增强用户信任。 :::
::: faq
如何开发者创建和维护 iOS 应用的隐私清单,以遵守苹果的政策?
开发 iOS 应用的开发者可以通过遵守苹果的指南并使用可用的工具来创建和管理隐私清单。苹果的官方文档提供了详细的说明,介绍如何设置一个 PrivacyInfo.xcprivacy 文件,该文件指定您的应用程序收集的数据以及使用的第三方 SDK。为了获得逐步指导,苹果的 WWDC23 私有性清单视频是一个优秀的资源,涵盖了如何使用 Xcode 15 或更高版本识别隐私实践并生成隐私报告。
为了简化遵守,像移动应用程序-consent 软件这样的工具可以帮助管理 SDK 并确保获得适当的用户同意。这些工具使得更容易保持与苹果数据共享政策的对齐,同时促进用户透明度。对于使用 Capacitor 应用的开发者,像 Capgo 这样的平台提供了实时更新功能,同时保持隐私要求的遵守。 :::
继续阅读 iOS 应用程序的隐私清单
如果您正在使用 iOS 应用程序的隐私清单 来规划安全性和遵守,连接它与 加密 以实现加密的详细信息 Compliance for the implementation detail in Compliance, Capgo 安全扫描器 for the product workflow in Capgo Security Scanner, Capgo 安全 for the product workflow in Capgo Security, and Capgo 信任中心 for the product workflow in Capgo Trust Center.