2022.5.16
InHouseアプリの利用で意識すべき3つの期限と期限切れで起きること
エンタープライズiOSで気をつけなければならないのは、各種の期限切れのタイミングを失念して更新を忘れてしまうことです。特にADEP契約下で配布する InHouse アプリを使っている場合、
- Provisioning Profile
- 証明書
- ADEP (Apple Developer Enterprise Program)
の3つの期限を正しく意識して、更新を忘れないようにする必要があります。本稿では、この3つの期限を過ぎて更新をし忘れた場合に何が起こるかを解説します。順番にみていきましょう。
Provisioning Profile の更新を忘れたらどうなるか
最もよく知られている期限は、アプリのビルド・署名時に使う Provisioning Profile の期限です。更新をせずこの期限を過ぎると、当該の Provisioning Profile に紐づくアプリが起動できなくなります。
Provisioning Profile の期限が切れたからと言ってアプリが消えるわけではないため、HOME画面からはパッと見で分かりにくいのが難点です。アプリが起動直後に落ちるような挙動をしたり、上図のように「もう利用できません」という悲しいダイアログが表示されたりします。
現場の端末を前にこの状況に遭遇した従業員が「Provisioning Profile の期限が切れた」と分かれば良いですが、通常それは期待できません。現場の混乱、管理部門への問い合わせ殺到は必至です。ですので Provisioning Profile の期限は、情シスはもちろんアプリを納品する開発会社やSIerも必ず意識しておきたい期限です。
Provisioning Profile の期限は、ADEPの画面で作成した時に表示されます。
また Provisioning Profile のファイルを macOS の Quicklook を使って見ることもできます。
Provisioning Profile ファイルの受け渡しが複数社間で発生する場合は、全ての受け取り手が期限を意識するようにして、二重三重の更新忘れ対策をしておくことをお勧めします。
Provisioning Profile の更新忘れが怖い場合は、思い切って InHouse アプリの利用をやめ、カスタムAppに切り替えるのも一つの方法です。カスタムAppならAppStore公開アプリと同様に、一度インストールすれば原則起動しなくなることはないため、Provisioning Profile の更新作業から開放されます。
証明書の更新を忘れたらどうなるか
InHouseアプリのビルドや署名に必要な証明書にも期限があります。が、実は余り気にする必要はありません。証明書の有効期限は前述の Provisioning Profile の期限を超えることはないからです。
Provisioning Profile の有効期限は、その作成時に紐づける証明書の有効期限か Provisioning Profile 作成日時の1年後のいずれか短い方にされるため、Provisioning Profile より証明書が早く期限切れすることは仕様上ありません。
証明書にも一応期限はありますが、Provisioning Profile の期限を意識することが結果的に証明書期限を意識させることになりますので、Provisioinng Profile 期限をとにかく気にしておけば大丈夫です。
InHouseアプリ用の証明書については、有効期限が作成から3年であることのみ意識しておけば十分でしょう。
余談ですが、ときおり証明書とProvisioning Profileをセットで毎年作成しているSIerや開発会社の方がいますが、証明書の更新は3年に1度にすべきです。不要な証明書の作成は間違ったrevokeを誘発したり、外部ライブラリを使うアプリの再署名で正しくインストールできなくなる事態に陥るなど、トラブルの元ですので避けましょう。
ADEPの更新を忘れたらどうなるか
前述のProvisionProfileや証明書を作成するために必要なのがADEPの契約です。この契約にも有効期限が定められており、新規契約時・更新時から1年間です。
毎年¥37,800を支払って契約更新する必要があります。更新しなければ、ADEPの管理画面にサインインできなくなり、Provisioning Profileや証明書の作成や更新もできなくなります。
ADEPの契約更新の期限が切れると、期限終了から90日間の猶予期間を経たあと91日目からInHouseアプリが起動しなくなります。たとえ、ADEPの期限より未来の期限を持った Provisioning Profile で InHouse アプリをビルド・署名していたとしても…です。
詳しくは、Appleの公式情報や、ADEP契約を更新せず放置するとInHouseアプリはどうなるのかをご覧下さい。
ADEPの更新忘れに気がついたら「90日間も猶予があるなら後にしよう」と考えず、すぐに更新手続きを進めましょう。ADEPの更新がAppleに拒否される事例が出始めているからです。詳しくはそろそろADEP契約更新ができなくなるかも知れない 〜カスタムAppへの移行を急ぐべき理由〜の投稿をご覧下さい。
以上、InHouseアプリに絡む3つの期限(Provisioning Profile, 証明書, ADEP契約)が切れた時の影響について解説してきました。期限切れを理由にInHouseアプリが起動できなくなるのは
- Provisioning Profile の期限が切れた時
- ADEP の期限が切れて90日が過ぎた時
の2つの事態に至った時ということになります。これさえ避ければ大丈夫なのですが、何ごとにおいても期限切れギリギリに動き出すのは悪手です。期限切れの影響やアプリの配布環境を考慮して、更新スケジュールを定めておくようにしましょう。