跳过主要内容

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

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

马丁·多纳迪

马丁·多纳迪

内容营销人员

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

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

关键要点:

  • 隐私清单是必需的: 从2024年5月1日起,所有应用程序必须包含详细的隐私清单(PrivacyInfo.xcprivacy)来揭示第三方SDK如何处理用户数据。
  • 审计第三方库: 使用工具如 Xcode 15 生成隐私报告并确保所有 SDK 都符合 Apple 的指南。
  • 保持最新: 定期审查 Apple 的不断演进的政策,更新 SDK,使用 Xcode 和最新版本 Capacitor.
  • 避免常见陷阱: 拒绝申请通常源于缺失的隐私清单、过时的 SDK 或 API 使用不当。

快速提示:

  • 在 Xcode 中生成隐私报告以识别符合性缺口。
  • 使用类似 npm audityarn list 进行依赖分析。
  • 考虑 实时更新解决方案 类似 Capgo 快速修复 App Store 延迟的合规问题。

合规不仅仅是避免被拒绝 - 它建立信任、改善用户体验并确保长期在 App Store 的成功。

如何添加 App 私密性细节标签 (Apple) App Store Connect)

App Store Connect

Apple 的第三方 SDK 和隐私要求

Apple 对第三方库在 __CAPGO_KEEP_0__ 应用中的规定非常严格 Capacitor 应用 为了确保隐私和安全性符合App Store的审批要求。作为开发者,您对应用程序中的每一项code都负有责任,包括第三方SDK,正如App Store Review Guidelines中所述。这一责任也包括数据收集和跟踪实践,使了解并遵守苹果隐私标准至关重要。

苹果隐私工程的Tony Tan强调了这一点:

“您负责应用程序中包含的所有code,根据App Store Review Guidelines。这包括任何数据收集和跟踪实践。应用程序的隐私故事往往依赖于第三方SDK。我们已经从开发者中听到,获取第三方SDK所需的所有信息确实很困难。隐私清单是第三方SDK开发者提供有关其隐私实践信息的新方式。这一信息有助于您准确地在应用程序中表示隐私。” - Tony Tan,苹果隐私工程负责人 [6]

这突出了苹果致力于确保第三方code与其隐私和安全标准一致的承诺。

第三方SDK指南

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

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

第 5.1.5 条规则 (数据收集和存储) 要求应用程序必须采取严格的安全措施来处理用户数据。 这适用于所有第三方库,包括分析工具和崩溃报告 SDK [1].

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

独立性 ,这意味着它们不能下载或执行 __CAPGO_KEEP_0__ 来引入新功能或功能, meaning they cannot download or execute code that introduces new features or functionality after installation [1].

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

A [5].

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

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

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

With Xcode 15,来自您的应用和所有第三方 SDK 的隐私清单将自动合并为一个单独的隐私报告 [7][3]. 生成此报告,请导航到 Product > Archive > Generate Privacy Report, 这为您提供了应用中数据收集的全面概述 [7][8].

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

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

苹果还引入了 SDK签名 在隐私声明中,__CAPGO_KEEP_0__。这些签名验证第三方 SDKs 在采用新版本时由同一开发者签名,添加了一层安全性,保护供应链攻击并确保应用程序依赖项的完整性 [3].

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

Capacitor 框架文档网站

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

使用 Xcode 隐私报告

Xcode IDE 接口

Xcode 的隐私报告功能提供了应用程序及其集成 SDKs 处理数据的详细概述。它将隐私清单合并为一个报告,使其更容易看到收集的数据以及如何使用它。

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

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

此报告对于识别缺乏适当隐私声明的第三方SDK至关重要。例如,2023年10月,CodeWithChris团队突出了苹果的更新政策,要求所有应用程序提交都包含隐私清单。从2024年5月1日起,这将成为强制性要求。缺少这些声明可能导致App Store拒绝,因此在提交之前检查Xcode隐私报告以确保所有披露都是准确的至关重要。

虽然Xcode的隐私报告是一个很好的起点,但额外的工具和方法可以加强您的审计过程。

依赖性分析工具

为了确保全面遵守,使用这些额外的工具和技术与Xcode的隐私报告一起:

  • 依赖性审查与__CAPGO_KEEP_0__ package.json: 使用命令如 npm lsyarn list 来识别项目中的直接和间接依赖项。
  • 安全漏洞检查: 运行工具如 npm audityarn audit 来扫描依赖项并检查已知的安全漏洞。根据建议应用更新或补丁。
  • Capacitor特定的安全实践: 请注意数据安全、身份验证、网络安全和网页视图配置等方面。例如:
    • 避免在code中嵌入敏感信息(例如API密钥)。而是将它们在服务器端管理。
    • 使用安全的密钥链或密钥库方法来存储本地敏感数据。
  • 内容安全策略(CSP): 为您的Capacitor Web View 配置强大的 CSP,以限制应用程序可以加载的资源,降低未经授权脚本的暴露风险。
  • 从SDK 开发者处请求隐私清单: 如果SDK 缺少隐私清单,请联系开发者并请求一份。
  • 查看 Apple 的文档: 通过查看他们的官方文档,验证您的应用程序遵守 Apple 的指南,特别是关于 数据使用 和必需 API 的指南。

值得注意的是,许多SDK 开发者可以将隐私清单添加到他们库的现有版本中。这意味着您可能不需要更新到最新版本来满足合规要求。但是,仍然建议您了解您的依赖项的更新和更改。

在Capacitor 项目中实施合规性

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

创建和管理隐私清单

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

在Capacitor中设置隐私清单

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

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

如果SDK缺少隐私清单,下面是您需要做的事情

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

管理高风险SDK

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

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

持续监控至关重要

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

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

Capgo 简化合规

Capgo 实时更新控制台界面

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

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

无缝部署

Capgo’s实时更新系统 允许您在App Store审查过程中避免延迟,通过实时部署修复。其无缝的CI/CD集成和全球交付系统确保更新快速部署,确保您的应用程序符合新政策 [19].

使用Capgo自动合规

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

提交__CAPGO_KEEP_0__应用程序到App Store之前的合规检查清单

在提交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].

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

隐私声明不完整:

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

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

长期维持合规性

苹果的政策不断演进,而对于 Capacitor 开发者,跟上最新动态是一个持续的挑战。规则不断变化——新要求出现,旧的指南也会更新。要保持合规,需要主动监控这些变化,利用自动化,并确保您的部署流程可以快速适应。

监控政策变化

苹果频繁更新其App Store Review指南,而 苹果应用商店和Google Play上的85%移动应用程序存在安全和隐私问题 [24].这突出了保持政策变化的重要性,以避免掉入大多数人中。

一种策略是建立一个月度审查周期,并维护一个合规日历来跟踪重要更新和截止日期。订阅苹果开发者通知,并关注行业频道可以帮助您捕捉到细微的指南变化。开发者经常会错过苹果在重大iOS版本发布之间引入的重要更新。

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

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

自动化合规检查

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

70% 的安全漏洞来自于脆弱的__CAPGO_KEEP_0__ 70% of security breaches stem from vulnerable code [25]以下是如何将自动化整合到您的工作流程中的方法:

静态应用安全测试(SAST):

  • 这些工具会自动扫描您的__CAPGO_KEEP_0__,并在开发过程的早期阶段识别出漏洞。: These tools scan your code automatically with every commit, identifying vulnerabilities early in the development process.
  • 自动化依赖分析: 将其整合到您的 CI/CD pipeline. 根据 82% 的应用程序使用开源组件 - 有些组件已知存在安全漏洞 [25] - 类似 npm audit 的工具可以在生产环境之前识别过时的库和漏洞。
  • Policy as Code: 这种方法允许将符合性要求视为软件,支持版本控制、测试和自动执行。使用 Policy as Code 的组织报告符合性验证 比传统方法快 [25].
  • 实时扫描: 开发过程中对代码库进行持续监控可以防止非合规的 code 进入主分支。 65% 的组织在将合规检查直接整合到开发周期中时会看到安全事件的减少。 [25].

Capgo 实时更新

仅仅是自动化并不是解决方案的一部分。当应用程序发布后出现合规问题时,传统的更新周期可能会让您暴露在安全漏洞中数周。这个时候,Capgo 就会发挥作用,提供实时更新来立即解决合规问题。

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

该平台还包括一个 回滚功能,如果合规更新引起意外问题,可以立即回滚到之前的版本,同时继续寻找长期解决方案。

“现在快速获取反馈非常重要。我们应该在早期阶段添加安全测试并获取安全报告,以了解 code 是否存在可能导致高安全漏洞的内容。这个就是 DevOps 的全部意义。”

  • 潘诺斯·梅格雷米斯,Camelot Lottery Solutions测试软件工程师负责人 [24]

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

使用 95% 的更新在 24 小时内交付,__CAPGO_KEEP_0__ 确保符合性修复能够快速到达用户。 这种速度在苹果宣布政策变化时尤其重要,尤其是对于安全相关的更新。, Capgo ensures compliance fixes reach users quickly. This speed is especially critical when Apple announces policy changes with tight deadlines, particularly for security-related updates.

App Store 成功的符合性 App Store

不必感到望而却步地应对苹果的符合性要求。 使用正确的策略,符合性可以从障碍转变为成为您的应用的优势。

主要收获

满足苹果的符合性标准对于解锁应用的全部潜力至关重要。 苹果处理

50% 的应用评论在 24 小时内,90% 在 48 小时内处理。 Navigating Apple’s compliance requirements doesn’t have to feel daunting. With the right strategies, compliance can shift from being a hurdle to becoming a strength that sets your app apart. [26]通过准备工作,确保您的应用程序更快地接触到用户。

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

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

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

实时更新解决方案可以进一步简化合规工作,帮助您在挑战出现时保持领先。

Capgo如何帮助

使用 Capgo 的 live update 解决方案可以更轻松地实现这些最佳实践。Capgo 将遵守性转化为一个积极的过程,已经被数千个生产应用程序所依赖。

Capgo 平台具有端到端的加密,确保 live updates 符合 Apple 严格的安全标准。通过无缝的 CI/CD 集成和即时回滚功能,您的应用程序始终保持符合性和安全性。

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

在 Apple 政策不断演进的 App Store 环境中,拥有可靠的 live update 解决方案如 Capgo 至关重要,以维持应用程序的竞争力并赢得用户的信任。

常见问题

::: faq

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

要确保第三方库在您的 Capacitor 应用程序中符合 Apple App Store 政策,请执行以下步骤:

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

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

通过遵循这些步骤,您将遵守苹果的政策,并赢得用户的信任。工具,如 Capgo 可以使此过程更容易,允许实时更新您的 Capacitor 应用,无需重新审批应用商店,保持应用的合规性和最新状态,无需麻烦。

:::

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

如何使 Capgo 的实时更新系统确保与苹果 App Store 政策的合规性? __CAPGO_KEEP_0__ 的实时更新系统为开发者提供了一种方式,通过实时更新来保持与苹果 App Store 政策的同步,即时更新 。这意味着可以修复 bug、加强安全性和提高性能——所有这些都无需等待应用商店审查。它是一种高效的方式,确保应用能够适应苹果不断变化的指南,尤其是关于 隐私规则 用户数据保护.

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

::: faq

如果我的应用程序没有包含到2024年5月1日所需的隐私清单?

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

此外,如果您的应用程序没有在隐私清单中明确说明所使用的所需API,也将被拒绝。该政策是苹果为了增强数据使用透明度和防止未经授权的数据收集而实施的。 :::

继续使用第三方库:苹果政策遵从

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

Capacitor应用的实时更新

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

立即开始

博客最新文章

Capgo 给您需要创建真正专业的移动应用的最佳见解。