用途:指导在 Xcode 中为完整 iOS App 添加 App Clip 目标,实现即时可用、无需安装的轻量体验,并处理从 App Clip 到完整 App 的过渡。目标为 iOS 26+ / Swift 6.3(除非另有说明)。
主要能力:
- 目标配置:File → New → Target → App Clip,Xcode 自动添加 on-demand-install-capable 与 Parent Application Identifiers 权限;App Clip bundle ID 必须是完整 App 的后缀(如 com.example.MyApp.Clip)。
- 调用处理:通过 onContinueUserActivity(NSUserActivityTypeBrowsingWeb) 解析 webpageURL 的路径与查询参数;UIKit 场景应用实现 scene(:willConnectTo:options:) 与 scene(:continue:)。完整 App 必须同样处理所有调用 URL。
- 体验配置:在 App Store Connect 配置默认体验(头图、副标题≤56字符、行动动词),生成默认链接 https://appclip.apple.com/id?=<bundle_id>&key=value;高级体验支持 Maps、位置关联、App Clip Codes;自定义 URL 需 Associated Domains 的 appclips:example.com 与 AASA 文件。
- 体积限制:iOS 15 及更早 10 MB,iOS 16 为 15 MB,iOS 17+ 数字调用 100 MB(需仅数字调用、不支持 iOS 16 及更早)。用 App Thinning Size Report 测量。
- 调用方式:App Clip Codes、NFC、二维码、Safari 智能横幅(meta 标签 apple-itunes-app)、Maps、Messages、Siri 建议、其他 App。
- 数据迁移:使用共享 App Group 容器、共享 UserDefaults、Keychain 共享、Sign in with Apple 凭据迁移。
- 推广:SKOverlay.AppClipConfiguration / appStoreOverlay 在任务完成后展示,不阻塞用户。
- 位置确认:APActivationPayload 在 500 米半径内验证位置,需 Info.plist 设置 NSAppClipRequestLocationConfirmation。
限制:无主屏幕图标,系统约 30 天不活跃后自动删除;存储视为临时;不支持 App Intents、后台任务、HealthKit、PhotoKit、自定义 URL scheme、应用内购买等;UIDevice.name 与 identifierForVendor 返回空字符串。
资料未提供具体收费、价格或平台支持范围等信息。