UE 5.8 iOS 应用程序扩展(App Extensions)原生支持说明
一、功能概述
UE5.8 新增对 iOS 应用程序扩展的一级原生支持,核心通过全新的 .uappex控制文件实现数据驱动式配置。开发者可以直接在 UE 项目中声明通知服务、后台资产下载等各类应用扩展,UnrealBuildTool(UBT)会在构建时自动生成对应的 Xcode 应用扩展 Target,彻底省去生成 Xcode 项目后手动编辑配置、反复同步设置的重复工作。
二、解决的传统开发痛点
在 UE5.8 之前,项目集成 iOS 应用扩展存在明显的流程缺陷:
每次 UBT 重新生成 Xcode 工程后,手动添加的扩展 Target 会被覆盖,需要反复重新配置;
签名证书、Info.plist 权限、依赖系统框架、资源文件都需要手动同步,配置繁琐且极易出错;
无法和 UE 原生构建、打包流水线深度集成,CI/CD 自动化打包流程需要额外适配脚本。
三、核心技术特性
1. .uappex 声明式控制文件
采用纯配置文件管理扩展,统一声明扩展类型、产品名称、源码目录、Info.plist 字段、依赖框架、签名规则等全部参数;
文件可放置在项目 Source 目录或插件目录中,支持同时声明多个扩展,支持项目级和插件级复用,随版本管理统一维护。
2. UBT 自动生成 Xcode 目标
构建项目时,UnrealBuildTool 自动扫描工程内所有
.uappex文件,自动生成对应 Xcode 应用扩展 Target;自动处理扩展与主应用的依赖关系、Bundle ID 匹配、签名继承、二进制打包嵌入,全程无需手动修改 Xcode 工程。
3. 覆盖主流扩展场景
官方原生适配 iOS 高频扩展类型,包括但不限于:
通知服务扩展(Notification Service Extension):用于推送通知的富媒体渲染、内容加密解密、动态修改通知内容
后台资产扩展(Background Assets Extension):实现应用后台静默下载资源、更新包,无需前台唤醒应用
同时兼容分享扩展、今日小组件等标准 iOS 扩展点。
4. 全链路原生集成
支持 Debug/Development/Shipping 全构建配置,自动适配不同编译模式的参数与优化选项;
打包 IPA 时自动将扩展二进制嵌入主应用包,输出产物完全符合苹果 App Store 提交规范;
可与 UE iOS 插件体系无缝配合,第三方 SDK 插件可自带
.uappex文件,集成插件即可自动启用对应扩展。
四、标准使用流程
创建配置文件在项目 Source 目录或插件目录下创建
.uappex控制文件,按规范填写扩展类型、名称、源码路径、Info.plist 配置、依赖框架等信息。编写扩展业务代码按照苹果官方开发规范编写应用扩展的 Objective-C / Swift 原生代码,放入配置文件指定的源码目录,实现扩展入口与业务逻辑。
执行构建生成正常通过 UBT 生成 Xcode 工程或直接执行打包,UBT 会自动识别
.uappex文件,生成对应扩展 Target 并完成编译配置。验证与打包发布生成的 Xcode 工程会自动包含扩展 Target,签名、Bundle ID 自动与主应用匹配;执行 IPA 打包时,扩展会自动嵌入最终安装包,可直接提交 TestFlight 或 App Store。
五、核心优势
配置可复现:配置文件随项目纳入版本管理,团队协作、CI/CD 流水线中不会丢失扩展配置,构建结果一致稳定;
降低维护成本:省去每次生成工程后的手动修改步骤,减少人工配置失误与排查成本;
插件化开箱即用:第三方功能插件可自带扩展配置,开发者集成插件即可自动启用对应系统能力;
合规性保障:生成的扩展 Target 完全遵循 Xcode 原生结构与苹果开发规范,兼容审核要求。
六、注意事项
该功能仅支持 UE 5.8 及以上版本,低版本引擎不支持
.uappex配置机制;应用扩展的业务逻辑仍需严格遵循苹果官方开发规范,内存限制、生命周期、权限要求与原生 iOS 开发一致;
扩展的签名配置需与主应用匹配,需使用包含对应扩展权限的开发证书与描述文件;
小众、特殊的扩展点建议配合官方文档完成适配验证。
需要我补充一份通用的 .uappex配置文件示例模板吗?
请在微信客户端打开
夜雨聆风