跳过主要内容

第三方库:苹果政策遵从性

了解苹果2025年App Store遵从性政策的第三方库,包括隐私清单和开发者审计策略。

Martin Donadieu

Martin Donadieu

内容营销总监

第三方库:苹果政策遵从性

苹果的政策更加严格 App Store 2025 年的政策要求开发者确保所有第三方库符合高标准的隐私、安全和性能要求。违反这些要求可能导致应用程序被拒绝、收入损失和声誉受损。

关键点:

  • 隐私清单是必须的: 从 2024 年 5 月 1 日起,所有应用程序必须包含详细的隐私清单()来说明第三方 SDK 如何处理用户数据。PrivacyInfo.xcprivacy审查第三方库
  • : 使用工具,如Xcode 15 来生成隐私报告并确保所有 SDK 符合苹果的指南。 保持最新
  • : 定期查看苹果的政策更新、更新 SDK 和使用最新版本的 Xcode 和__CAPGO_KEEP_0__ Capacitor.
  • 避免常见问题通常,拒绝的原因是缺少隐私清单、过时的 SDK 或 API 使用不当。

快速提示:

  • 在 Xcode 中生成隐私报告以识别合规缺陷。
  • 使用工具,如 npm audityarn list 进行依赖分析。
  • 考虑 实时更新解决方案Capgo 以快速修复合规问题而无需等待 App Store。

[原文]

如何在 App Store Connect 中添加 App 私隐详细信息标签(Apple App Store Connect)

YouTube 视频播放器

Apple’s Third-Party SDK and Privacy Requirements

__CAPGO_KEEP_0__ 应用 设定了严格的规则,以确保 App Store 批准的隐私和安全性合规。作为开发者,您对应用中的每一项 Capacitor 负有责任,包括第三方 SDK,正如 App Store Review 指南所述。这一责任也延伸到了数据收集和跟踪实践,使得理解并遵守 Apple 的隐私标准至关重要。 to ensure privacy and security compliance for App Store approval. As a developer, you’re accountable for every piece of code in your app, including third-party SDKs, as outlined in the App Store Review Guidelines. This responsibility extends to data collection and tracking practices, making it essential to understand and adhere to Apple’s privacy standards.

“您对应用中包含的所有 __CAPGO_KEEP_0__ 负有责任,根据 App Store Review 指南。这包括任何数据收集和跟踪实践。应用的隐私故事中,第三方 SDK 占了很大一部分。我们听说过开发者们遇到了困难,无法从应用依赖的第三方 SDK 中获取所需的信息。隐私清单是第三方 __CAPGO_KEEP_1__ 开发者提供关于其隐私实践信息的新方式。这一信息有助于您准确地在应用中表示隐私。” - Tony Tan,Apple 私隐工程

“You are responsible for all code included in your apps, per the App Store Review Guidelines. This includes any data collection and tracking practices. A large part of your app’s privacy story often depends on third-party SDKs. We have heard from developers like you that it can be challenging to get all the information you need from the great third-party SDKs that your apps depend on. Privacy manifests are a new way for third-party SDK developers to provide information about their privacy practices. This information helps you accurately represent privacy in your app.” - Tony Tan, Privacy Engineering at Apple [6]

这表明苹果致力于确保第三方code符合他们的隐私和安全标准。

第三方SDK指南

苹果要求所有第三方库使用公共API并在最新的iOS版本上运行得无缝。

指南2.4.5(第三方软件) 规定第三方code必须符合自己的标准。使用这些库中的非公共API是拒绝的绝对途径 [10].

指南5.1.5(数据收集和存储) 要求第三方库,包括分析工具和崩溃报告SDK,处理用户数据时采取强有力的安全措施。 [1].

此外,应用程序必须通过 AppTrackingTransparency (ATT)框架 在追踪用户或访问他们的广告标识符之前,获得明确的用户同意。 [4]苹果还禁止使用设备信号进行唯一识别的指纹技术,这一规则直接影响某些分析和欺诈防御SDK [4].

应用程序必须 独立包,这意味着它们无法下载或执行 code,以便在安装后引入新功能或功能 [1].

隐私清单要求

为了遵守这些指南,苹果要求开发者在隐私清单中详细记录第三方数据处理实践。从2024年5月1日起,提交到App Store Connect的应用程序必须在隐私清单文件中全面描述其使用所需原因API的用途 [5].

A 隐私清单 是指名为 PrivacyInfo.xcprivacy的属性列表文件,必须陪同应用程序和第三方SDK一起分发为XCFrameworks Swift 包或Xcode项目 [7]这些清单提供了清晰的信息,说明每个 SDK 收集的数据以及如何使用它们 [3].

清单中需要包含的关键部分是:

  • NSPrivacyTracking: 指定应用程序或SDK是否使用跟踪目的的数据。
  • NSPrivacyTrackingDomains: 列出参与跟踪的域名 [8].
  • NSPrivacyCollectedDataTypes: 描述收集的数据类型,例如设备标识符或用户内容 [7][8].
  • NSPrivacyAccessedAPITypes: 解释为什么访问了敏感的API,包括API类别和批准的使用原因 [8]. 禁止使用某些API进行设备指纹识别 [7][8].

使用Xcode 15,应用程序和所有第三方SDK的隐私清单将自动合并为一个单独的隐私报告 [7][3]. 生成此报告,请导航到 Product > Archive > 生成隐私报告,让您全面了解应用程序中的数据收集 [7][8].

根据SDK的分发方式,实现过程会有所不同。对于提供静态库的 SDK,需要在 Xcode 15 或更高版本中使用静态框架来正确打包隐私清单文件 [7][8].

截至 2024 年 4 月,研究表明,尤其是在银行和医疗保健等行业的许多应用程序尚未全面实施隐私清单,突出了一个显著的合规缺口 [9].

苹果还推出了 SDK签名 ,伴随隐私清单。这些签名验证第三方 SDK 的开发者在采用新版本时是否使用相同的开发者签名,添加了一层安全性,保护应用程序的依赖项免受供应链攻击,并确保应用程序的完整性 [3].

如何审计第三方库在 Capacitor 应用程序

Capacitor框架文档网站

在Capacitor应用程序中审计第三方库是确保遵守苹果政策的关键步骤。通过利用 Xcode 等工具并进行彻底的依赖项分析,可以有效地识别和解决潜在问题

使用 Xcode 隐私报告

Xcode IDE界面

__CAPGO_KEEP_0__

要在Xcode (要求Xcode 15或更高版本) 中生成隐私报告,请遵循以下步骤:

  1. 打开您的项目在Xcode中。
  2. 选择 Product > Archive 创建一个存档,它将在Organizer中出现。
  3. 在Organizer中,右键单击存档并选择 生成隐私报告.
  4. 保存报告并检查是否有任何SDK缺少隐私清单。

This report is crucial for identifying third-party SDKs that lack proper privacy declarations. For example, in October 2023, the CodeWithChris team highlighted Apple’s updated policy requiring all app submissions to include privacy manifests. This will become mandatory starting May 1, 2024. Missing these declarations could result in App Store rejection, so reviewing your Xcode privacy report before submission is vital to ensure all disclosures are accurate.

While Xcode’s privacy reports are a good starting point, additional tools and methods can strengthen your audit process.

Dependency Analysis Tools

To ensure comprehensive compliance, use these additional tools and techniques alongside Xcode’s privacy reporting:

  • Dependency Review with package.json: Use commands like npm ls or yarn list to identify both direct and transitive dependencies in your project.
  • Security Vulnerability Checks: Run tools such as npm audit or yarn audit to scan your dependencies against known security vulnerabilities. Apply updates or patches as recommended.
  • Capacitor-特定安全实践: 注意关注数据安全、身份验证、网络安全和Web视图配置等方面。例如:
    • Avoid embedding sensitive information (e.g., API keys) in your code. Instead, manage them server-side.
    • 将其管理在服务器端代替。
  • 使用安全的密钥链或密钥库方法来存储本地敏感数据。 Configure a strong CSP for your Capacitor Web View to limit the resources your app can load, reducing exposure to unauthorized scripts.
  • 为SDK Web视图配置强大的CSP,以限制应用程序可以加载的资源,减少未经授权脚本的暴露。 从SDK开发者处获取隐私清单:
  • 如果__CAPGO_KEEP_0__缺少隐私清单,请联系其开发者并要求提供。 查看Apple的文档: 验证应用程序的符合性与Apple的指南关于 数据使用

值得注意的是,许多SDK开发者可以将隐私清单添加到现有的库版本中。这意味着您可能不总是需要更新到最新版本才能满足合规要求。然而,仍然是一个好主意,了解更新和依赖项变化。

如何在Capacitor项目中实施合规性

一旦您对库进行了审计,下一步就是实施修复。这涉及创建隐私清单、管理高风险的SDK和自动化合规性检查。

创建和管理隐私清单

隐私清单是关键文件,概述了您的应用程序及其SDK如何处理用户数据。对于提交到App Store的应用程序,苹果要求这些声明。

在Capacitor中设置隐私清单

要在项目中包含隐私清单,请确保您正在使用兼容的Capacitor版本,例如Capacitor 8.0.0或更高版本 [12].

隐私清单文件,命名 PrivacyInfo.xcprivacy,可以嵌入应用程序和第三方SDK作为XCFrameworks、Swift包或框架捆绑 [15]该文件指定SDK收集的数据类型、每种数据类型的目的、是否与用户相关以及是否用于跟踪 [11].

如果SDK缺少隐私清单

对于不提供隐私清单的SDK,您需要手动将必要的声明添加到应用程序的清单中,基于SDK的API使用 [13]. 例如, Situm SDK 需要您声明数据类型,如精确位置、设备 ID 和性能数据 [14].

管理高风险 SDK

最近的安全漏洞突出了管理高风险 SDK 的重要性。采用“了解您的 SDK”方法可以帮助减轻这些风险。这涉及测试二进制文件并使用自定义脚本检测受限制的 API [16][17][18].

使用静态和动态分析工具检查应用程序的二进制文件并确定 SDK 如何收集和传输数据 [16]. 如果您发现受限制的 API,请考虑用自有解决方案替换它们,以减少对第三方 code 的依赖并最小化漏洞 [17].

持续监控至关重要

定期 SDK 审计是保持合规的关键 [17]. 您负责确保您的应用程序中的每个 SDK 都具有有效的签名和适当的隐私清单。否则,应用程序可能会被 App Store 拒绝 [17].

Capgo offers a solution that simplifies this process through real-time updates and streamlined compliance workflows.

Capgo for Simplified Compliance

Capgo 实时更新控制台界面

Capgo 提供了管理合规挑战的实用解决方案,尤其是在实时更新至关重要的情况下。通过 Capgo,您可以立即推送合规修复,避免了需要 App Store 审核的需要。

此功能在隐私清单发布期间证明了其价值。开发人员能够快速解决合规问题,而不必等待 App Store 审核。

无缝部署

Capgo 的实时更新系统 允许您在实时部署修复,避免由于 App Store 审核而造成的延迟。其无缝的 CI/CD 集成和全球交付系统确保更新快速推送,保持您的应用程序与新政策保持一致 [19].

使用 Capgo 自动化合规

Capgo 的 CI/CD 集成使得自动化合规检查和部署变得容易。当自动化测试检测到合规问题或新隐私要求出现时,您可以配置管道以使用 Capgo 的实时更新系统部署修复。这种方法有助于您在演进的政策中保持领先,同时确保平滑的用户体验

提交前合规检查清单

当您准备将 Capacitor 应用程序提交到 App Store 时,进行详细的合规审查至关重要。这一步确保您的应用程序符合 Apple 的第三方库要求,并避免因拒绝而造成的延迟

验证隐私声明

确保所有隐私声明都完整且准确。每个第三方SDK在您的应用中必须要么包含自己的隐私清单,要么在应用级别的清单中进行记录。使用Xcode 15生成一个合并的隐私报告并上传到App Store Connect。

确认每个SDK的隐私清单与其实际功能相匹配。例如, 调整SDK 提供一个清单,概述了其数据跟踪使用和相关隐私标签 [20]如果SDK没有包含隐私清单,您需要更新应用级别的清单来反映其数据使用 [20]从2024年春季开始,苹果将要求应用包含所有影响用户隐私的SDK的隐私清单 [11].

此外,请确保所有影响隐私的SDK都已由开发者正确签名。这一步可以增强软件供应链安全性并减少漏洞 [11]一旦所有检查通过,请在Xcode中测试这些设置以确认准确性。

在Xcode中测试

验证隐私声明后,使用Xcode彻底测试您的应用。利用Points of Interest工具来识别可能跟踪用户的网络连接。这项工具可以帮助您确定哪些域名应该在隐私清单中列为跟踪域名。另外,请确保您的隐私清单文件正确添加到您的应用的目标资源中,以便Xcode可以正确编译信息 [7].

扩大测试范围,通过TestFlight在多台设备上运行您的应用 测试. 这个 beta 测试阶段对于发现潜在问题至关重要,避免在 App Store 审核时出现问题 [22].

常见错误和解决方法

测试完成后,确保您的应用程序符合以下常见合规要求,才能顺利提交:

  • 隐私声明不完整: 如果在 App Store 审核期间出现警告,请重新检查您的应用程序的 code,确认所有必填项都已包含 [21]. 检查每个第三方库的文档,以了解其数据收集和处理实践
  • 缺失或错误的隐私清单: 确保每个隐私清单准确反映了 SDK 的功能。 如果需要,请与 SDK 的官方文档进行交叉引用 [11].
  • 未签名的第三方 SDK: Xcode 将标记未由开发者签名的 SDK [3]. 如果发生这种情况,请联系供应商获取更新版本或考虑切换到遵守 Apple 签名标准的替代 SDK
  • 不准确的元数据: 确保您的应用程序的描述和关键词准确反映其功能,尤其是在数据收集和第三方集成方面。元数据不匹配可能导致拒绝 [22].
  • 性能问题: 使用 Xcode 的调试工具来识别和修复内存泄漏或优化性能。请密切关注第三方库对启动时间和响应性影响 [22].

如果在提交后出现合规问题,工具如 Capgo 的实时更新系统可以成为救命稻草。 Capgo 允许您在等待 App Store 审批之前部署实时修复,帮助您保持与不断演进的政策相符的用户体验

维持长期合规

苹果的政策不断演进,而对于 __CAPGO_KEEP_0__ 开发者来说,保持最新是持续挑战。规则不断变化 - 新要求出现,已有的指南也会更新。要保持合规,您需要积极监控这些变化,利用自动化,并确保您的部署流程可以快速适应 Capacitor developers苹果频繁更新 App Store 审核指南,而

苹果 App Store 和 Google Play 中的 85% 移动应用程序存在安全和隐私问题

。这突出了保持政策变化的重要性,以避免掉入大多数人 监控政策变化 [24]监控政策变化

One strategy is to establish a monthly review cycle and maintain a compliance calendar to track important updates and deadlines. Subscribing to Apple Developer alerts and keeping an eye on industry channels can help you catch even subtle guideline changes. Developers often miss significant updates that Apple introduces between major iOS releases.

记录每次影响应用第三方库的政策变化也是很明智的。一个简单的电子表格可以跟踪变化的日期、受影响的库、所需的操作和截止日期。这份文档不仅有助于在审计时保持合规,也可以为您提供苹果政策趋势的清晰图景。

为了更高效地管理这些更新,自动化是关键。

自动化合规检查

随着您的应用增长并包含更多的第三方库,手动合规检查变得不切实际。早期安全扫描至关重要,因为

70% 的安全漏洞源于脆弱的__CAPGO_KEEP_0__ 70% of security breaches stem from vulnerable code [25]. 自动化可以帮助您及早发现并解决这些问题。

以下是如何将自动化集成到您的工作流程中的方法:

  • 静态应用安全测试 (SAST): 这些工具会自动扫描您的 code 在每次提交时,早期识别出漏洞。
  • 自动化依赖分析: 将其整合到您的 CI/CD pipeline中。 由于 82% 的应用程序使用开源组件 - 其中许多已知存在安全漏洞 [25] - 类似于 npm audit 的工具可以在应用程序进入生产环境之前标记过时的库和漏洞。
  • 《Code》政策: 这种方法允许将符合性要求视为软件,支持版本控制、测试和自动执行。使用《Code》政策的组织报告符合性验证 比传统方法快30% [25].
  • 实时扫描: 开发过程中对代码库进行持续监控,可以防止非符合性《code》进入主分支。 65% 的组织在将符合性检查直接整合到开发周期后,安全事件的发生率下降了 65% [25].

《Capgo》实时更新

自动化只是解决方案的一部分。当应用程序发布后出现符合性问题,传统的更新周期可能会让您暴露在风险中数周。这个时候《Capgo》就发挥作用了,它提供了实时更新来立即解决符合性问题。

《Capgo》使用 端到端加密 以确保这些更新符合苹果严格的安全标准。与其他平台使用的基本签名方法不同,Capgo 的加密与苹果对第三方集成的安全要求保持一致。

该平台还包括 回滚功能,这对于如果由于合规更新引起的意外问题而非常有价值。例如,如果隐私清单更新或库替换引入问题,您可以立即切换回以前的版本,同时在解决方案上工作。

“现在快速获取反馈非常重要。我们应该在早期阶段添加安全测试并获取安全报告,以了解code可能引入高安全漏洞的原因。DevOps的整个目的就是这样。”

  • 潘诺斯·梅格雷米斯,Camelot彩票解决方案测试首席软件工程师 [24]

Capgo与CI/CD管道无缝集成,允许将合规更新自动化为您的开发工作流程的一部分。当自动扫描检测到漏洞或政策违规时,Capgo可以直接将修复部署到受影响用户处。这减少了手动工作量并确保对新兴威胁的快速响应。

95%的更新在24小时内交付,Capgo确保合规修复快速到达用户。这在苹果宣布政策变化时尤其重要,尤其是安全相关更新,紧急期限非常短。

结论: 应用商店 合规成功

应用商店

与苹果的合规要求打交道不必感到困难。使用正确的策略,合规可以从成为一个障碍转变为成为一个强项,成为您的应用程序的独特之处。

主要要点

符合苹果的合规标准对于解锁应用程序的全部潜力至关重要。苹果处理 50% 的应用程序评论在 24 小时内处理,90% 在 48 小时内处理 [26],因此准备充分可以确保您的应用程序更快地到达用户。

合规之旅始于了解苹果的隐私清单要求和第三方SDK指南。使用 Xcode 报告和依赖分析工具定期审计您的应用程序有助于识别并解决潜在问题,避免因拒绝而导致的拒绝。通过主动管理隐私清单和高风险 SDK,您可以将应用程序与苹果的不断演进的规则保持一致。

持续的审计和自动化是保持合规的关键。将合规检查嵌入 CI/CD pipeline 允许您尽早捕获漏洞并顺利适应政策更新。保持苹果指南的最新状态、维护清晰的隐私政策、优先保护数据以及进行可用性测试等行动都是必不可少的步骤 [2]建立一个合规框架,定期审计和内部标准库,确保您的应用程序在长期内保持准备充分。

除了技术考虑之外,遵守法规会建立信任。展示可靠性和用户安全性会带来更好的评论、更多下载和减少应用移除的风险 [2]这些策略对于实现App Store成功和培养长期用户信任至关重要

实时更新解决方案可以进一步简化遵守法规的努力,帮助您在出现挑战时保持领先

如何Capgo可以帮助

通过实时更新解决方案来实现这些最佳实践会更容易,Capgo将遵守法规转化为一个主动的过程,已经被数千个生产应用所依赖

Capgo的平台具有端到端加密,确保实时更新符合苹果严格的安全标准。通过无缝的CI/CD集成和即时回滚功能,应用始终保持遵守和安全

对于Capacitor开发者,Capgo自动扫描并启用快速更新,允许您立即处理违规问题,绕过App Store延迟。该平台的能力 95%的更新在24小时内 确保您始终领先于政策变化,而不是在调整时慌乱

随着苹果的政策继续演进,拥有可靠的实时更新解决方案如Capgo对于维持应用的竞争力和在遵守法规的App Store环境中赢得用户信任至关重要

常见问题

::: faq

如何确保第三方库在开发者Capacitor的应用中符合苹果App Store的要求?

为了确保第三方库在开发者Capacitor的应用中符合苹果App Store的政策,以下是您需要做的步骤:

  • 添加隐私清单:对于每个第三方SDK,您需要包含详细的隐私清单。该文件应该清晰地说明收集的数据以及为什么收集。它是App Store提交的必备要求,并有助于确保与苹果和您的用户之间的透明度。

  • 在App Store Connect中说明数据使用:清晰地说明您的应用及其第三方库如何管理用户数据。如果数据用于跟踪,请在您的提交中说明,并确保通过AppTrackingTransparency框架获得用户同意,iOS 14.5中引入。

通过遵循这些步骤,您将符合苹果的政策,并建立与用户的信任。像 Capgo 这样的工具可以使这个过程更容易,让开发者可以实时更新Capacitor应用,而无需重新审批App Store,保持应用的最新状态和符合性。

:::

How does Capgo’s live update system help ensure compliance with Apple’s App Store policies?

Capgo的实时更新系统如何帮助确保符合苹果App Store的政策? 实时更新这意味着可以修复bug、加强安全性、提高性能 - 不需要等待app store审查。它是确保应用程序适应苹果不断变化的指南的高效方式,尤其是当涉及 隐私规则用户数据保护.

通过Capgo,开发者可以保持应用程序的正常运行和符合法规的状态,而避免不必要的延迟。具有端到端加密和实时更新功能的特性确保更新符合苹果和安卓标准,使其成为长期维持符合法规的可靠选择。 :::

::: faq

如果我的应用程序不包含所需的隐私清单,会发生什么?

如果您的应用程序没有在 2024年5月1日 之前提交必要的隐私清单,它将被App Store Connect拒绝。这意味着您无法发布新应用程序或推送更新到App Store。

此外,如果应用程序不清楚地说明其使用所需API的隐私清单,也会被拒绝。这一政策是苹果为了增强透明度并防止未经授权的数据收集而采取的措施。 :::

继续使用第三方库:苹果政策合规性

如果您正在使用 第三方库:苹果政策合规性 来规划安全性和合规性,连接它与 加密 在加密中的实施细节 合规 在合规中的实施细节 Capgo 安全扫描器 在Capgo 安全扫描器中的产品工作流 Capgo 安全 在Capgo 安全中的产品工作流 Capgo 信任中心 为产品工作流程在 Capgo 信任中心。

实时更新Capacitor应用

当web层bug处于活跃状态时,通过Capgo将修复推送给用户,而不是等待几天的应用商店审批。用户在后台接收更新,而原生更改仍在正常审批路径中。

立即开始

最新博客

Capgo为您提供创建真正专业的移动应用所需的最佳见解。