app-clips について
app-clipsは、iOS App Clipの開発を支援するスキルです。ターゲット設定、起動ルーティング、機能とサイズの確認、データ引き継ぎを扱い、即時タスクやデモ向けの軽量な体験を対象とします。
主な機能
- 01App Clipターゲットと関連付けの設定
- 02起動URLとエクスペリエンスのルーティング
- 03サイズ制限と機能の確認
- 04フルアプリへのデータ引き継ぎ計画
- 05通知と位置情報のフロー確認
活用シーン
- 01即時タスク向けApp Clipの開発
- 02QR、NFC、Safariからの起動設定
- 03App Clipとフルアプリ間のルーティング検証
- 04機能範囲と引き継ぎ要件の評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dpearson2699/ swift-ios-skills --skill app-clipsインストール後、Claude Code で/app-clipsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/data-handoff-notifications-location.mdrouting-and-experiences.mdsize-capabilities-and-promotion.md詳細
App Clips
その場ですぐに利用できる軽量版の iOS アプリを作成し、目的を絞った、その瞬間に最適な体験やデモを提供します。
目次
App Clip ターゲットの設定
App Clip は、フルアプリと同じ Xcode プロジェクト内の別個のターゲットです。
- File → New → Target → App Clip — Xcode により App Clip ターゲットが作成され、フルアプリのターゲットにEmbed App Clip ビルドフェーズが追加され、関連付けのエンタイトルメントが設定されます。
- App Clip のバンドル ID は、フルアプリのバンドル ID を必ず接頭辞として含める必要があります:
com.example.MyApp.Clip。 - アーカイブ、署名、または App Store Connect のエラーを調査する際は、エンタイトルメントの生のキーを確認してください。
- App Clip ターゲット:
com.apple.developer.on-demand-install-capable - App Clip ターゲットの親アプリへのリンク:
com.apple.developer.parent-application-identifiers - フルアプリのターゲットに関連付けられた App Clip へのリンク:
com.apple.developer.associated-appclip-app-identifiers
- App Clip ターゲット:
両方のターゲットで必要なコードには、Swift パッケージまたは共有ソースファイルを使用してください。APPCLIP のアクティブなコンパイル条件で App Clip 固有のコンパイル分岐を追加し、フルアプリ専用のフレームワークを App Clip ターゲットにリンクしないようにしてください。
**検証チェックポイント:**両方のターゲットをアーカイブし、アーカイブ内のエンタイトルメントを確認します。署名または検証に失敗した場合は、上記の 3 つの生のキーとターゲットの割り当てを修正し、両方が合格するまで再度アーカイブしてください。
起動とエクスペリエンスのルーティング
起動 URL のルーティング、App Store Connect のエクスペリエンス、Local Experiences、Safari Smart App Banners、QR/NFC/App Clip Codes、AASA、または関連ドメインを実装する場合は、references/routing-and-experiences.md を参照してください。
App Clip は NSUserActivityTypeBrowsingWeb アクティビティを受け取ります。インストール後はフルアプリが App Clip に置き換わり、その後の起動を受け取るため、起動ルーターはフルアプリと共有してください。
- SwiftUI:
.onContinueUserActivity(NSUserActivityTypeBrowsingWeb)を使用します。 - UIKit のコールド起動:
scene(_:willConnectTo:options:)でconnectionOptions.userActivitiesを調べます。 - UIKit の継続処理:
scene(_:continue:)で実際のNSUserActivityを処理します。 scene(_:willContinueUserActivityWithType:)は事前通知のみで、URL は提供しません。
App Store Connect で必要なデフォルトの App Clip エクスペリエンスを設定してください。Maps との連携、位置情報の関連付け、本番用 App Clip Codes、場所ごとのカード、実際の場所への正確なルーティングには、高度なエクスペリエンスを使用します。デモ用 App Clip Codes には、短いデモ用 App Clip リンクを使用できます。
カスタム URL の場合は、フルアプリと App Clip の両方のターゲットで Associated Domains に appclips:example.com を追加し、App Clip のアプリ識別子を含む AASA ファイルをホストしてください。Safari バナーでは app-id、app-clip-bundle-id、および任意の app-clip-display=card を使用します。App Clip の起動に app-argument を頼らないでください。
**検証チェックポイント:**各 URL を _XCAppClipURL と Local Experience で試し、ルーティング、AASA、エクスペリエンスの不一致を修正します。App Clip とインストール済みのフルアプリが同じ目的地に到達するまで繰り返してください。
サイズと機能の判断
実現可能性のレビュー、サイズ区分と測定、Background Assets、CloudKit、Live Activities、非対応機能、フルアプリへの移行については、サイズ、機能、および移行を権威あるチェックリストとして使用してください。これらのトピックが対象となる場合は、必ず参照してください。
プロダクトレビューでは、境界レベルの内容に留めてください。サイズの基準、起動とダウンロードの適合性、機能の除外事項、引き継ぎ先を明記します。ユーザーが実装を求めた場合に限り、実装用 API を追加してください。
データ、通知、位置情報
App Group/フルアプリへの移行、キーチェーンまたは Sign in with Apple による引き継ぎ、一時的な通知、通知からの再起動時のルーティング、または実際の位置情報の確認を実装する際は、references/data-handoff-notifications-location.md を参照してください。
App Group のストレージは、信頼境界ではなく、秘密情報を含まない引き継ぎ状態として扱ってください。このリファレンスでは、iOS 15.4 以降の一方向のキーチェーンルール、Sign in with Apple の検証、一時的な通知の許可と再起動時のルーティング、実際の位置情報の確認について、それぞれに必要な未加工のキーとターゲットも含めて説明しています。
よくある間違い
適用される App Clip のサイズ制限を超える
サイズ制限を使って、適用される制限を選択し、サイズを測定してください。
マーケティング専用、または Web ビュー中心の App Clip を設計する
App Clip は、アプリをインストールしなくても、ユーザーが特定のタスクや完全なデモを完了できるようにする必要があります。マーケティング専用のクリップ、広告の多いフロー、スプラッシュ画面、起動を妨げるダウンロード、繰り返し表示されるインストールの促し、Web サイトのほうが適している Web ビュー中心の体験は避けてください。
レビューチェックリスト
適用されるすべてのゲートを通過するまで、リリースしないでください。不合格があれば修正し、同じゲートを再実行してください。
- ターゲット ID、3 つすべての未加工のエンタイトルメントキー、共有コードの境界が正しい。
- SwiftUI/UIKit のコールド起動と継続時に呼び出しが動作し、その後フルアプリに引き継がれる。
- 関連ドメイン、AASA、App Store Connect のエクスペリエンス、ローカルでの呼び出しテストに合格している。
- サイズ、機能、UX、Live Activity、プロモーションに関する判断が、 実現可能性レビューに合格している。
- データ、認証情報、通知、位置情報のフローが、詳細な 引き継ぎチェックに合格している。
参考資料
- ルーティングとエクスペリエンス
- データの受け渡し、通知、位置情報
- サイズ、機能、プロモーション
- App Clips フレームワーク
- Xcode で App Clip を作成する
- App Clip のエクスペリエンスを設定する
- 呼び出しに応答する
- 適切な機能を選択する
- 人の物理的な位置を確認する
- App Clip とフルアプリ間でデータを共有する
- App Clip で通知を有効にする
- Web サイトやメッセージアプリからの呼び出しに対応する
- App Clip でライブアクティビティを提供する
- App Clip ユーザーにアプリをおすすめする
- APActivationPayload
- SKOverlay.AppClipConfiguration
- NSUserActivityTypeBrowsingWeb
- App Clip コードを作成する
- App Clip を配布する
- App Clips HIG