CryptoKitでのデータ暗号化が一段落し、次はアプリをインストールしなくても一部の機能を試せるようにしたくなり、App Clipsに挑戦しました。
1. 本体アプリのコードをそのまま使い回せると思っていた
最初、本体アプリのターゲットにApp Clip用のターゲットを追加すれば、既存の画面をそのまま流用できるものだと思い込んでいました。
App Clipのサイズ上限: 10MB程度
(本体アプリの依存ライブラリを含めると簡単に超える)
実際にはApp Clipには非常に小さいサイズ上限があり、本体アプリで使っている画像や外部ライブラリをそのまま含めるとすぐに上限を超えてしまいました。App Clip専用に必要最小限の画面と機能だけを切り出したターゲットを新しく設計し直す必要がありました。
2. 動作確認の入り口が分からず時間を無駄にした
App Clipを実装したものの、通常のアプリのようにホーム画面から起動する手段がなく、どうやって動作確認すればいいのか最初は分かりませんでした。
Xcodeのスキーム編集画面に「App Clip呼び出し用のURLを指定する」設定項目があり、そこにテスト用のURLを設定してから実行すると、App Clipとして起動できることが分かりました。通常のアプリ開発とは異なる起動経路を意識する必要がありました。
3. Universal Linksの設定を後回しにして手戻りが発生した
App Clip自体の実装を先に終わらせ、呼び出し元となるUniversal Linksの設定を後回しにしていたところ、いざ連携させようとした段階で以前つまずいたのと同じ設定をやり直す羽目になりました。
App Clipは呼び出し元のURLをそのままアプリ内で受け取って画面を出し分ける設計が前提になっているため、Universal Linksの設定とApp Clip側の実装は同時並行で進めるべきだったと反省しました。片方だけ先に完成させても、結局は両方が揃わないと動作確認すらできません。
4. 本体アプリへの誘導導線を後付けで追加する羽目になった
App Clipの体験自体はうまく作れたのですが、「もっと使いたい人が本体アプリをインストールする導線」を最初の設計に入れておらず、後から画面に追加する形になりました。
App Clipはあくまで「お試し」の入り口であり、そこから本体アプリへスムーズに誘導できて初めて意味を持つ機能だと気づきました。最初の設計段階から、本体アプリへの導線をどこに配置するかを考えておくべきでした。
まとめ
- App Clipにはサイズ上限があり、本体アプリのコードをそのまま流用するのは難しい。必要最小限の専用ターゲットとして設計する
- 動作確認はXcodeのスキーム編集画面でApp Clip呼び出し用URLを指定して行う
- Universal Linksの設定とApp Clip側の実装は同時並行で進める。片方だけでは動作確認すらできない
- 本体アプリへの誘導導線は後付けではなく、最初の設計段階から組み込んでおく
「小さいアプリを作るだけ」と軽く考えていましたが、本体アプリとは異なる設計思想が求められる、想像以上に奥の深い機能でした。
次は、Live Photosを実装してみて分かったことをまとめます。
本記事は生成AI(Claude)を活用して執筆・編集しています。内容は実体験に基づき、執筆者本人が確認・監修しています。


コメント