跳转至正文

第三方库:Apple 政策合规性

了解 Apple 2025 年 App Store 针对第三方库的合规政策,包括隐私清单和开发者审计策略。

“第三方库:Apple 政策合规” Capgo 博客插图

Apple 更严格的 App Store 2025 年政策要求开发者确保所有第三方库在隐私、安全和性能方面达到高标准。不合规可能导致 App 被拒、收入损失和声誉受损。

核心要点:

  • 隐私清单是强制要求:自 2024 年 5 月 1 日起,所有 App 必须包含详细的隐私清单 (PrivacyInfo.xcprivacy) 以披露第三方 SDK 如何处理用户数据。
  • 审计第三方库:使用诸如 Xcode 的 Mac 15 生成隐私报告,并确保所有 SDK 符合 Apple 的指南。
  • 保持更新:定期审查 Apple 不断变化的政策,更新 SDK,并使用最新版本的 Xcode 和 Capacitor.
  • 避免常见陷阱:被拒通常源于缺少隐私清单、SDK 过时或 API 使用不当。

快速提示:

  • 在 Xcode 中生成隐私报告,以识别合规差距。
  • 使用诸如 npm audit 以及 yarn list 用于依赖分析。
  • 考虑 live update 解决方案 例如 Capgo 用于快速修复合规问题,避免 App Store 审核延迟。

合规不仅仅是为了避免被拒——它还能建立信任、提升用户体验,并确保在 App Store 的长期成功。

如何添加 App 隐私详情标签(Apple App Store Connect)

App Store Connect

Apple 关于第三方 SDK 与隐私的要求

Apple 为第三方库制定了严格规则, Capacitor 应用 以确保 App Store 审核的隐私和安全合规。作为开发者,根据 App Store 审核指南,你对应用中每一处 code 都负有责任,包括第三方 SDK。这一责任同样涵盖数据收集和跟踪实践,因此了解并遵守 Apple 的隐私标准至关重要。

Apple 隐私工程团队的 Tony Tan 强调了这一点:

“根据 App Store 审核指南,你对应用中包含的所有 code 负责。这包括任何数据收集和跟踪实践。你 App 的隐私情况很大程度上取决于第三方 SDK。我们听像你这样的开发者反馈,要从 App 依赖的那些优秀第三方 SDK 中拿到所需的全部信息并不容易。隐私清单是第三方 SDK 开发者提供其隐私实践信息的新方式。这些信息能帮助你准确呈现 App 的隐私情况。” - Tony Tan,Apple 隐私工程团队 [6]

这凸显了 Apple 对确保第三方 code 符合其隐私和安全标准的承诺。

第三方 SDK 指南

Apple 要求所有第三方库使用公开 API,并能在最新 iOS 版本上无缝运行。

准则 2.4.5(第三方软件) 规定第三方 code 必须达到与你自己的代码相同的标准。在这些库中使用非公开 API,必然会被拒审 [10].

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

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

应用必须保持 自包含状态,这意味着应用不能在安装后下载或执行会引入新功能或特性的 code [1].

隐私清单要求

为了遵守这些指南,Apple 要求开发者提供详细的隐私清单,说明第三方的数据处理方式。自 2024 年 5 月 1 日起,提交到 App Store Connect 的 App 必须在隐私清单文件中完整说明对 required reason API 的使用情况 [5].

一套 隐私清单 是一个名为 PrivacyInfo.xcprivacy的属性列表文件,必须随以 XCFramework 形式分发的应用和第三方 SDK 一起提供, Swift 包或 Xcode 项目 [7]。这些清单文件清楚地说明了每个 SDK 收集了哪些数据以及如何使用这些数据 [3].

清单文件中应包含的关键部分如下:

  • NSPrivacyTracking:指定 App 或 SDK 是否将数据用于追踪目的。
  • NSPrivacyTrackingDomains:列出涉及追踪的域名 [8].
  • NSPrivacyCollectedDataTypes:详述收集的数据类型,例如设备标识符或用户内容 [7][8].
  • NSPrivacyAccessedAPITypes:解释访问隐私敏感 API 的原因,包括 API 类别及获批的使用理由 [8]。严禁滥用特定 API 进行设备指纹识别 [7][8].

从 Xcode 15 起,App 及所有第三方 SDK 的隐私清单会自动合并为一份隐私报告 [7][3]。要生成此报告,请前往 产品 > 归档 > 生成隐私报告,为您提供应用内数据收集的全面概览 [7][8].

实施过程取决于 SDK 的分发方式。对于以静态库形式提供的 SDK,您需要在 Xcode 15 或更高版本中使用静态框架,以正确打包隐私清单文件 [7][8].

截至 2024 年 4 月,研究表明许多应用(尤其是银行和医疗行业)尚未完全实施隐私清单,凸显了显著的合规差距 [9].

Apple 还引入了 SDK 签名 与隐私清单并行使用。这些签名可验证第三方 SDK 在采用新版本时是否由同一开发者签名,从而增加一层安全防护,抵御供应链攻击并确保应用依赖项的完整性 [3].

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

Capacitor 框架文档网站

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

使用 Xcode 的 Mac 隐私报告

Xcode IDE 界面

Xcode 的隐私报告功能可详细展示您的应用及其集成的 SDK 如何处理数据。它将隐私清单整合为单一报告,便于查看收集了哪些数据以及这些数据的使用方式。

以下是如何在 Xcode 中生成隐私报告(需 Xcode 15 或更高版本):

  1. 在 Xcode 中打开您的项目。
  2. 选择 产品 > 归档 以创建归档;归档会显示在 Organizer 中。
  3. 在 Organizer 中,右键点击归档并选择 生成隐私报告.
  4. 保存报告,并检查是否有 SDK 缺少隐私清单。

这份报告对于识别缺乏适当隐私声明的第三方 SDK 至关重要。例如,2023 年 10 月,CodeWithChris 团队强调了 Apple 更新后的政策,要求所有应用提交都必须包含隐私清单。该要求将从 2024 年 5 月 1 日起强制执行。缺少这些声明可能导致应用被 App Store 拒绝,因此在提交前查看 Xcode 隐私报告,确保所有披露内容准确无误,至关重要。

虽然 Xcode 的隐私报告是一个很好的起点,但其他工具和方法可以加强你的审计流程。

依赖项分析工具

为确保全面合规,请结合 Xcode 的隐私报告使用以下其他工具和技术:

  • 使用以下方式进行依赖审查: package.json: 使用如下命令: npm ls 或 yarn list 来识别项目中的直接依赖和传递依赖。
  • 安全漏洞检查: 运行以下工具: npm audit 或 yarn audit 来对照已知安全漏洞扫描依赖项。按建议应用更新或补丁。
  • Capacitor 专属安全实践: 请特别关注数据安全、身份验证、网络安全和 WebView 配置等方面。例如:
    • 避免在 code 中嵌入敏感信息(例如 API 密钥),改为在服务端管理。
    • 使用安全的 keychain 或 keystore 机制在本地存储敏感数据。
  • 内容安全策略(CSP): 为你的 Capacitor Web View 配置严格的 CSP,限制应用可加载的资源,降低未授权脚本带来的风险。
  • 向 SDK 开发者索取隐私清单(Privacy Manifests): 如果某个 SDK 缺少隐私清单,请联系其开发者并要求提供。
  • 查阅 Apple 文档: 验证你的应用是否符合 Apple 关于 数据用量 以及所需 API 的指南,具体请查阅其官方文档。

值得注意的是,许多 SDK 开发者可以为现有版本的库添加隐私清单。这意味着你并不总是需要更新到最新版本才能满足合规要求。不过,仍然建议持续关注依赖项的更新和变更。

如何在 Capacitor 项目中实现合规

完成库审计后,下一步是进行修复。这包括创建隐私清单、管理高风险 SDK,以及自动化合规检查。

创建和管理隐私清单

隐私清单是至关重要的文件,用于说明您的应用及其 SDK 如何处理用户数据。对于提交到 App Store 的应用,Apple 强制要求提供这些声明。

在 Capacitor 中配置隐私清单

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

名为 PrivacyInfo.xcprivacy的隐私清单文件,可以嵌入以 XCFrameworks、Swift 包或 framework bundle 形式分发的应用和第三方 SDK 中 [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 都具有有效签名和合适的隐私清单 (Privacy Manifest)。否则,您的应用可能会被 App Store 拒绝 [17].

Capgo 提供了一种解决方案,通过实时更新和精简的合规工作流来简化这一过程。

Capgo 简化合规流程

Capgo Live Update Dashboard 界面

Capgo 为应对合规挑战提供了实用的解决方案,尤其是在实时更新至关重要时。通过 Capgo,您可以即时推送合规修复,无需经过 App Store 审核。

在隐私清单推广期间,这一功能发挥了极大作用。开发者能够快速解决合规问题,无需等待 App Store 批准。

轻松部署

Capgo 的 live update 系统 让您实时部署修复,避免 App Store 审核造成的延迟。其无缝的 CI/CD 集成和全球分发系统确保更新快速上线,让您的应用符合新政策。 [19].

使用 Capgo 实现合规自动化

Capgo 的 CI/CD 集成让自动化合规检查和部署变得轻而易举。当自动化测试发现合规问题或出现新的隐私要求时,您可以配置 pipeline,利用 Capgo 的 live update 系统部署修复。这种方法能帮助您在政策不断演变时保持领先,同时确保流畅的用户体验。

提交前的合规检查清单

在准备将 Capacitor 应用提交至 App Store 时,务必完成详细的合规审查。这一步骤可确保您的应用满足 Apple 对第三方库的要求,避免因被拒而导致的延迟。

验证隐私声明

仔细检查所有隐私声明是否完整且准确。应用中的每个第三方 SDK 都必须包含其自身的隐私清单,或在应用级清单中有所体现。使用 Xcode 15 生成合并的隐私报告,以便提交至 App Store Connect。

花时间确认每个 SDK 的隐私清单与其实际功能相符。例如, 调整 SDK 提供了一份清单,概述了其数据跟踪使用情况及相关隐私标签 [20]. 如果 SDK 未包含隐私清单,则需要更新应用级清单以反映其数据使用情况 [20]. 从 2024 年春季开始,Apple 将要求应用为所有影响用户隐私的 SDK 提供隐私清单 [11].

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

在 Xcode 中测试

验证隐私声明后,请使用 Xcode 对应用进行彻底测试。利用 Points of Interest 工具来识别可能追踪用户的网络连接。该工具可帮助您确定是否应将某些域名列为隐私清单中的追踪域名。同时,确保您的隐私清单文件已正确添加到应用的 target resources 中,以便 Xcode 能够正确编译这些信息 [7].

通过在多台设备上运行应用来扩大测试范围: TestFlight. 在将应用提交至 App Store 审核之前,此 Beta 测试阶段对于发现潜在问题至关重要 [22].

常见错误及修复方法

测试完成后,请解决以下常见的合规问题,以确保提交过程顺利:

  • 隐私声明不完整: 如果 App Store 审核期间弹出警告,请重新检查应用的 code,确认所有必需条目都已包含 [21]。请查阅每个第三方库的文档,了解其数据收集和处理方式。
  • 隐私清单缺失或错误: 请确认每个隐私清单都准确反映了 SDK 的功能。如有需要,可对照 SDK 的官方文档核对 [11].
  • 未签名的第三方 SDK: Xcode 会标记出开发者未正确签名的 SDK [3]。如果遇到这种情况,请联系供应商获取更新版本,或考虑换用符合 Apple 签名标准的其他 SDK。
  • 元数据不准确: 确保应用的描述和关键词准确反映其功能,尤其是数据收集和第三方集成方面。元数据不匹配可能导致审核被拒 [22].
  • 性能问题: 使用 Xcode 的调试工具来定位并修复内存泄漏或优化性能。密切关注第三方库对启动时间和响应速度的影响 [22].

如果提交后出现合规问题,Capgo 的 live update 系统能帮上大忙。Capgo 让你无需等待 App Store 审核就能部署实时修复,在保持流畅用户体验的同时跟上不断变化的政策要求。

持续维护合规性

Apple 的政策一直在变,对于 Capacitor 开发者而言,跟上这些变化是一项持续的挑战。规则经常变——新要求不断出现,现有指南也会更新。要保持合规,你需要主动关注这些变化,借助自动化,并确保部署流程能快速适应。

监控政策变更

Apple 经常更新 App Store Review Guidelines,而且 Apple App Store 和 Google Play 上 85% 的移动应用存在安全与隐私问题 [24]。这凸显了及时掌握政策变化有多重要,才能避免成为这大多数中的一员。

一种策略是建立月度审查周期,并维护合规日历以跟踪重要更新和截止日期。订阅 Apple Developer 警报并关注行业渠道,有助于你捕捉到细微的指南变更。开发者常常错过 Apple 在主要 iOS 版本之间引入的重大更新。

  • 季度审查:评估操作系统兼容性和 API 变更的平台更新。
  • 每周检查:处理安全补丁以应对漏洞以及 加密更新 [23].

除了 Apple 的官方资源外,开发者社区和行业出版物可以提供关于潜在政策变化的早期洞察。这些讨论往往在变更被广泛知晓前几周就会出现,为你争取到额外的准备时间。

记录每个影响应用第三方库的政策变更也是明智之举。一个简单的电子表格可以跟踪变更日期、受影响的库、所需操作和截止日期。这些文档不仅有助于合规审计,还能让你更清晰地了解 Apple 政策随时间的趋势。

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

自动化合规检查

随着应用规模扩大并集成更多第三方库,手动合规检查变得不切实际。早期安全扫描至关重要,因为 70% 的安全漏洞源于存在风险的 code [25]。自动化有助于你尽早发现并解决这些问题。

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

  • 静态应用安全测试 (SAST):这些工具会在每次提交时自动扫描你的 code,在开发流程早期发现漏洞。
  • 自动化依赖分析:将其集成到您的 CI/CD 流水线中。由于 82% 的应用使用了开源组件 - 其中许多存在已知的安全漏洞 [25] - 类似工具 npm audit 可以在它们进入生产环境前标记出过时的库和漏洞。
  • 以 Code 为准的政策:这种方法把合规要求当作软件来管理,从而支持版本控制、测试和自动强制执行。使用 Policy as Code 的组织报告称,其合规验证速度 比传统方法快 30% [25].
  • 实时扫描: 在开发过程中持续监控代码库,可以防止不合规的 code 进入主分支。 65% 的企业发现,将合规检查直接集成到开发生命周期中可以减少安全事件的发生 [25].

Capgo 实现实时更新

自动化只是解决方案的一部分。当应用上线后出现合规问题时,传统的更新周期可能会让你面临数周的安全风险。这时 Capgo 就派上用场了,它提供 Live Updates,可即时完成合规修复。

Capgo 使用 端到端加密 以确保这些更新符合 Apple 严格的安全标准。与其他平台使用的基础签名方式不同,Capgo 的加密方式完全符合 Apple 对第三方集成日益严格的要求。

该平台还包含一个 回滚功能,这在合规更新引发意外问题时至关重要。例如,如果隐私清单更新或库替换引入了问题,您可以在着手制定更永久解决方案的同时,立即回滚到之前的版本。

“如今,快速获得反馈非常重要。我们应在早期阶段添加安全测试并获取安全报告,以了解 code 是否存在可能导致高安全漏洞的内容。这正是 DevOps 的核心所在。”

  • Panos Megremis,Camelot Lottery Solutions 测试首席软件工程师 [24]

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

使用 95% 的更新在 24 小时内送达,Capgo 确保合规修复能快速触达用户。当 Apple 宣布带有紧迫期限的政策变更时,尤其是对于安全相关的更新,这种速度尤为关键。

结论: App Store 合规成功

App Store

应对 Apple 的合规要求不必令人望而生畏。采用正确的策略,合规可以从一道障碍转变为你应用脱颖而出的优势。

核心要点

满足 Apple 的合规标准对于释放应用的全部潜力至关重要。Apple 处理 50% 的应用审核在 24 小时内完成,90% 在 48 小时内完成 [26],因此做好准备能确保您的应用更快触达用户。

合规之路始于理解 Apple 的隐私清单要求以及第三方 SDK 指南。定期使用 Xcode 报告和依赖分析等工具审计应用,有助于在问题导致被拒前发现并解决潜在问题。主动管理隐私清单和高风险 SDK,可让应用始终符合 Apple 不断变化的规则。

持续审计和自动化是保持合规的关键。将合规检查嵌入 CI/CD pipeline,可以帮助您及早发现漏洞并顺畅适应政策更新。关注 Apple 指南更新、维护清晰的隐私政策、优先保护数据以及开展可用性测试,都是必不可少的步骤 [2]。建立包含定期审计和内部标准库的合规框架,可确保应用长期做好准备。

除了技术层面的考量,合规还能建立信任。展现可靠性和用户安全能带来更好的评价、更多下载,并降低应用被下架的风险 [2]。这些策略对于在 App Store 取得成功并培养用户长期信心至关重要。

live update 解决方案可以进一步简化合规工作,助您在挑战出现时抢占先机。

Capgo 如何提供帮助

借助针对您工作流定制的 live update 解决方案,实施这些最佳实践会更轻松。Capgo 将合规变成主动流程,简化了合规工作,已有数千款 App 在生产环境中依赖它。

Capgo 平台具备端到端加密,确保 Live Updates 符合 Apple 严格的安全标准。凭借无缝的 CI/CD 集成和即时回滚能力,您的 App 始终合规且安全。

对于 Capacitor 开发者,Capgo 可自动执行扫描并支持快速更新,让您能立即处理违规问题,避开 App Store 的审核延迟。该平台能够 在 24 小时内完成 95% 的更新 确保您始终领先于政策变化,而不是手忙脚乱地调整。

随着 Apple 政策持续演进,在合规驱动的 App Store 环境中,拥有像 Capgo 这样可靠的 live update 解决方案,对于保持 App 竞争力并赢得用户信任至关重要。

常见问题

::: 常见问题

开发者如何确保其 Capacitor App 中的第三方库符合 Apple App Store 的要求?

要确保您 Capacitor App 中的第三方库符合 Apple App Store 政策,请按以下步骤操作:

  • 添加隐私清单 (Privacy Manifest): 请为您使用的每个第三方 SDK 添加一份详细的 Privacy Manifest。该文档应清楚说明收集了哪些数据以及原因。这是提交 App Store 的强制要求,有助于确保对 Apple 和用户保持透明。

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

遵循这些步骤,您将符合 Apple 的政策并赢得用户信任。像 Capgo 这样的工具可以简化此流程,允许对您的 Capacitor 应用进行实时更新,而无需 App Store 重新审批,从而在免去繁琐流程的同时保持应用合规且最新。 :::

::: 常见问题

Capgo 的 live update 系统如何帮助确保符合 Apple App Store 政策?

Capgo 的 live update 系统为开发者提供了一种方式,通过允许 即时更新。这意味着可以修复 bug、加强安全性并提升性能——无需等待应用商店审核。这是一种高效的方式,确保应用能适应 Apple 不断变化的指导方针,尤其是在 隐私规则 以及 用户数据保护.

借助 Capgo,开发者可以让应用平稳运行并符合法规,同时避免不必要的延迟。端到端加密和实时更新等功能确保更新符合 Apple 和 Android 标准,使其成为长期保持合规的可靠选择。 :::

::: 常见问题

如果我的 App 在 2024 年 5 月 1 日前未包含必需的隐私清单(Privacy Manifests),会怎样?

如果你的应用未在 2024 年 5 月 1 日 截止日期前提交必要的隐私清单,就会被 App Store Connect 拒绝。这意味着你将无法发布新应用或向 App Store 推送更新。

此外,任何未在隐私清单中明确说明其对必需 API 使用情况的应用也将被拒绝。该政策是 Apple 提高数据使用透明度、遏制未经授权数据收集的举措之一。 :::

继续阅读第三方库:Apple 政策合规

如果你正在使用 第三方库:Apple 政策合规性 来规划安全与合规,请结合 加密 了解 Encryption 的实现细节, 合规性 了解合规部分的实现细节, Capgo 安全扫描器 了解 Capgo Security Scanner 的产品工作流, Capgo 安全 用于 Capgo 安全的产品工作流,以及 Capgo 信任中心 用于 Capgo 信任中心的产品工作流。

为 Capacitor 应用提供 Live Updates

当 Web 层出现线上 Bug 时,通过 Capgo 发布修复,而不用等 App Store 审核好几天。用户会在后台收到更新,原生变更则仍走正常审核流程。

博客最新动态

Capgo 为你提供打造真正专业的移动应用所需的最有价值的洞察。