App Clips

作者 dpearson26998d90fd121a26無授權條款1.1K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫2 個月前更新

Build iOS App Clips with invocation URLs, App Clip Codes, NFC, QR codes, Safari banners, Maps, Messages, target setup, App Store Connect experiences, size/capability constraints, NSUserActivity routing, SKOverlay promotion, App Group/keychain handoff, ephemeral notifications, location confirmation, and full-app migration. Use when creating App Clips or wiring App Clip invocation, experience configuration, or full-app handoff.

AI 產生的概覽

指導建置 iOS App Clip:目標設定、呼叫路由、大小限制、資料交接與推廣。

功能
此技能提供在 Xcode 中建立 iOS App Clip 的說明,涵蓋目標與授權設定、透過 NSUserActivity 的呼叫 URL 路由、App Store Connect 體驗、App Clip 碼、NFC、QR 碼與 Safari 橫幅。內容也涉及大小與功能限制、App Group 與鑰匙圈交接至完整 App、臨時通知、位置確認以及 SKOverlay 推廣。產出為指引、檢查清單與驗證檢查點,而非程式碼成品,並指向三份隨附參考文件。
適用情境
在建立 App Clip,或設定 App Clip 呼叫、體驗設定、與完整 App 交接時使用。也適合對 App Clip 大小、功能與推廣決策進行可行性評估。
執行需求
不含指令碼,僅有說明與參考文件。實際建置所述的 App Clip 需要 Xcode、具備 App Store Connect 存取權的 Apple 開發者帳號、關聯網域與 AASA 託管,以及 App Clip 框架。

App Clips

Build lightweight, instantly available versions of an iOS app for focused in-the-moment experiences or demos.

Contents

App Clip Target Setup

An App Clip is a separate target in the same Xcode project as your full app:

  1. File → New → Target → App Clip — Xcode creates the App Clip target, adds the Embed App Clip build phase to the full app target, and wires the association entitlements.
  2. The App Clip bundle ID must be prefixed by the full app's bundle ID: com.example.MyApp.Clip.
  3. Verify raw entitlement keys when diagnosing archive, signing, or App Store Connect failures:
    • App Clip target: com.apple.developer.on-demand-install-capable
    • App Clip target parent app link: com.apple.developer.parent-application-identifiers
    • Full app target associated App Clip link: com.apple.developer.associated-appclip-app-identifiers

Use Swift packages or shared source files for code needed by both targets. Add App Clip-specific compile branches with the APPCLIP active compilation condition, and avoid linking full-app-only frameworks into the App Clip target.

Validation checkpoint: Archive both targets and inspect their archived entitlements. If signing or validation fails, correct the three raw key/target assignments above and rearchive until both pass.

Invocation and Experience Routing

Read references/routing-and-experiences.md [blocked] when implementing invocation URL routing, App Store Connect experiences, Local Experiences, Safari Smart App Banners, QR/NFC/App Clip Codes, AASA, or associated domains.

App Clips receive NSUserActivityTypeBrowsingWeb activities. Keep the invocation router shared with the full app because, after installation, the full app replaces the App Clip and receives future invocations.

  • SwiftUI: use .onContinueUserActivity(NSUserActivityTypeBrowsingWeb).
  • UIKit cold launch: inspect connectionOptions.userActivities in scene(_:willConnectTo:options:).
  • UIKit continuation: handle the actual NSUserActivity in scene(_:continue:).
  • scene(_:willContinueUserActivityWithType:) is only advance notice and does not provide the URL.

Configure the required default App Clip experience in App Store Connect. Use advanced experiences for Maps integration, location association, production App Clip Codes, per-location cards, and precise physical-place routing; demo App Clip Codes can use the short demo App Clip link.

For custom URLs, add appclips:example.com to Associated Domains on both the full app and App Clip targets, and host an AASA file with the App Clip app identifier. For Safari banners, use app-id, app-clip-bundle-id, and optional app-clip-display=card; do not rely on app-argument for App Clip launches.

Validation checkpoint: Exercise each URL with _XCAppClipURL and a Local Experience, fix routing/AASA/experience mismatches, and repeat until the App Clip and installed full app reach the same destination.

Size and Capability Decisions

Use Size, capabilities, and promotion [blocked] as the authoritative checklist for feasibility reviews, size tiers and measurement, Background Assets, CloudKit, Live Activities, unsupported features, and full-app promotion. Load it whenever any of those topics is in scope.

Keep product reviews at the boundary level: state the size basis, invocation and download fit, capability exclusions, and handoff destination. Add implementation APIs only when the user asks for implementation.

Data, Notifications, and Location

Read references/data-handoff-notifications-location.md [blocked] when implementing App Group/full-app migration, keychain or Sign in with Apple handoff, ephemeral notifications, notification relaunch routing, or physical location confirmation.

Treat App Group storage as non-secret handoff state, not a trust boundary. The reference owns the iOS 15.4+ one-way keychain rule, Sign in with Apple verification, ephemeral-notification permission and relaunch routing, and physical-location confirmation—including their required raw keys and targets.

Common Mistakes

Exceeding the applicable App Clip size limit

Choose and measure the applicable limit using Size Limits [blocked].

Designing a marketing-only or web-view-heavy App Clip

App Clips should let people complete a focused task or full demo without installing the app. Avoid marketing-only clips, ad-heavy flows, splash screens, launch-blocking downloads, repeated install prompts, and web-view-heavy experiences that would work better as a website.

Review Checklist

Do not ship until every applicable gate passes; fix failures and rerun the same gate.

  • Target IDs, all three raw entitlement keys, and shared-code boundaries are correct.
  • Invocation works for SwiftUI/UIKit cold launch and continuation, then hands off to the full app.
  • Associated domains, AASA, App Store Connect experiences, and local invocation tests pass.
  • Size, capability, UX, Live Activity, and promotion decisions pass the feasibility review [blocked].
  • Data, credential, notification, and location flows pass the detailed handoff checks [blocked].

References

來源與署名

來源:dpearson2699/swift-ios-skills位於skills/app-clips提交8d90fd1

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架

更多來自 dpearson2699/swift-ios-skills 的技能

Widgetkit

dpearson2699

指導實作、審查與改進 iOS、iPadOS、watchOS 與 CarPlay 上的 WidgetKit 小工具與控制項。

Software Development1.1K2 個月前更新

Weatherkit

dpearson2699

指導 iOS 開發者使用 WeatherService 取得 WeatherKit 預報、警報與署名資訊。

Software Development1.1K2 個月前更新

Vision Framework

dpearson2699

Implement computer vision features including text recognition (OCR), face detection, barcode scanning, image segmentation, object tracking, and document scanning in iOS apps. Covers both the modern Swift-native Vision API (iOS 18+) and legacy VNRequest patterns, VisionKit DataScannerViewController for live camera scanning, and CoreMLRequest/VNCoreMLRequest for custom model inference. Use when adding OCR, barcode scanning, face detection, or custom Core ML model inference with Vision.

待分類1.1K2 個月前更新

Tipkit

dpearson2699

Implement and review Apple TipKit feature-discovery UI for iOS 17+ apps. Use when adding or auditing in-app tips, contextual help, coach marks, Tip, TipView, popoverTip, rules, events, actions, display frequency, testing overrides, reusable tip identifiers, or iOS 18+ TipGroup and CloudKit tip sync; avoid for generic SwiftUI navigation or layout outside tip presentation.

待分類1.1K2 個月前更新

Tabletopkit

dpearson2699

指導使用 TabletopKit 在 visionOS 上打造多人空間桌遊,涵蓋棋具、座位、動作與 RealityKit 算繪。

Software Development1.1K2 個月前更新

Swiftui Webkit

dpearson2699

指導在 iOS 26 及更新版本的 SwiftUI App 中使用 WebKit for SwiftUI 嵌入與控制網頁內容。

Software Development1.1K2 個月前更新