This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
iOS App 扩展
编辑页面
了解如何使用 EAS Build 通过应用扩展添加自定义功能。
App 扩展可让你将自定义功能和内容扩展到应用之外,并在用户与其他应用或 iOS 系统功能交互时提供给他们使用。EAS Build 为在 现有 React Native 项目 和使用 Continuous Native Generation (CNG) 的项目中包含应用扩展提供了支持。
CNG 项目(实验性支持)
一个典型的、简单的使用 Continuous Native Generation(CNG)的项目只有一个应用目标,并且没有应用扩展。你可以通过编写一个 配置插件(或者使用一个会通过自己的配置插件创建扩展的库)来向项目中添加应用扩展。配置插件允许你向在构建任务的“Prebuild”阶段生成的 Xcode 项目中添加 target。
在应用配置中使用 extra.eas.build.experimental.ios.appExtensions 声明应用扩展,可以让 EAS CLI 在构建开始之前(即在 Xcode 项目生成之前)知道有哪些应用扩展,从而确保所需的凭据被生成并验证。配置插件也能够修改应用配置,而且在大多数情况下,如果你使用的是一个添加扩展的库,那么配置插件还会添加所需的配置,以便在应用配置中声明该扩展。如果你正在编写一个库,我们建议你考虑这一点。以下示例展示了如果直接在 app.json 中声明时会是什么样子:
{ "expo": { ... "extra": { "eas": { "build": { "experimental": { "ios": { "appExtensions": [ { "targetName": "myappextension", "bundleIdentifier": "com.myapp.extension", "entitlements": { "com.apple.example": "entitlement value" } } ] } } } } } } }
现有的 React Native 项目
当你构建现有的 React Native 项目时,EAS CLI 会自动检测在你的 Xcode 项目中配置的应用扩展,并为每个目标生成所有必要的凭证,或者你也可以在 credentials.json 中提供它们。有关更多信息,请参阅 多目标项目。