eas credentials――クレデンシャル管理の革命(2)
Apple Developer Programの更新にも対応
iOSの配布用Provisioning ProfileはApple のドキュメントに記載されている通り12か月で期限切れを迎えるため、毎年更新作業が必要になります。
これもeas credentialsから実行でき、既存のプロファイルを失効扱いにして再発行する操作がメニューから選べます。Appleのダッシュボードを久しぶりに開いて「どこからプロファイルを再発行するんだっけ?」と迷子になる時間が、毎年数十分単位でゼロになります。
iOSの配布形態とProvisioning Profileの使い分け
iOSアプリの配布形態は表1に示した3種類です。eas credentialsでProvisioning Profileを管理する際には、どの配布形態向けのプロファイルを扱うかを意識する必要があります。
| 配布形態 | 主な用途 | 特徴 |
|---|---|---|
| App Store | App Storeへの本番リリース | アプリ審査が必要。最終的な配布先 |
| Ad Hoc | 登録済みデバイスへの直接インストール | 最大100台のデバイスをProvisioning Profileに登録 |
| Internal(EAS独自) | EASダッシュボード経由での社内テスト配布 | デバイス台数制限なし。QRコードでインストール可能 |
このうちInternalはEASが独自に管理する配布形態で、Appleの通常のAd Hocとは異なりデバイス登録台数に上限がありません。社内テスト配布や社内レビューに特に便利で、eas buildのpreviewプロファイルと組み合わせて使うのが典型的なパターンです(詳細は次回説明します)。
eas deviceでテストデバイスを登録する
iOSのInternal DistributionやAd Hocで配布する際、テスト端末のUDID(固有識別子)をProvisioning Profileに含める必要があります。従来はApple Developer Programのダッシュボードでデバイスを手動登録し、Provisioning Profileを再発行してダウンロードする……という手順が必要でした。
EASではこの作業をeas device:createで大幅に簡略化できます(リスト2)。
eas device:create
コマンドを実行すると、EASがデバイス登録用のURLを発行します。テスターにこのURLを送ると、テスターがSafariでURLを開き、表示されたプロファイルをインストールするだけでUDIDがEASプロジェクトに自動登録されます(図6)。開発者がテスターのデバイスを手元に持ってUDIDを調べる手間がなくなります。
登録済みデバイスの一覧はeas device:listで確認できます(リスト3)。
eas device:list
AdHocやInternal用のProvisioning Profileに新たにデバイスを追加したいときは、eas credentialsでiOSのクレデンシャルメニューに入り、Provisioning Profileの更新操作を選ぶだけです。EASが登録済みデバイスを自動的にProfileに含めて再発行してくれます。チームにテスターが加わるたびにAppleのダッシュボードと格闘する必要がなくなります。
クラウドに任せる――このコマンド群が体現するEASの価値
前節で「EAS編のテーマは面倒なことはクラウドに任せる」だと宣言しました。eas credentialsとeas deviceは、そのテーマを最も分かりやすく体現しているコマンド群です。
AppleやGoogleのダッシュボードと向き合う時間、チームでのクレデンシャル共有を設計する時間、更新時期を忘れて焦る時間、テスターのUDIDを手作業で登録する時間――これらをすべてEASに引き取ってもらい、開発者はアプリ本体の開発に集中できるようになります。
この「引き取ってもらう」思想は、次回紹介するEAS Build、そして第11回以降のSubmit/Update/Workflowsでも一貫しています。eas credentialsは、その思想を最初に肌で感じられるコマンドとして、本連載の入り口にふさわしい存在です。
まとめ
本章では、モバイルアプリのリリースを阻む「署名の壁」に焦点を当て、EASがどう解決するかを見てきました。
iOS側のDistribution Certificate・Provisioning Profile・Push Notification Key、Android側のキーストアという複数のクレデンシャルを、EASのクラウドが一元管理します。Apple Developer Program APIとの連携で証明書を自動発行し、チームメンバーはeas buildを叩くだけで同じクレデンシャルを使えるようになります。テストデバイスの登録もeas device:createで発行したURLをテスターに送るだけで完結し、Provisioning Profileへの反映もeas credentialsから数操作で済みます。
かつて「iOSの署名まわりを整える」ことは、新しいプロジェクトを立ち上げるたびに数時間を要する作業でした。それがeas credentialsひとつで、初回でも数分に縮まります。プラットフォームのダッシュボードとにらめっこする時間を削り、その分をアプリの品質に充てられる――これこそがEASの本質的な価値です。
次回(第10回)は、今回セットアップしたクレデンシャルを実際に使い、クラウドビルドを1本通します。サンプルプロジェクトでeas buildを実行してAndroidのAPKを手に入れるハンズオンに加え、Development Buildを活用した開発フロー(eas build:dev)と、環境ごとに設定を切り替えるeas envの基本操作まで踏み込みます。
