📵

iOSのテストデバイス登録はすぐ完了しない場合がある

2024/02/22に公開

結論

待つしかありません。
それ以外の方法があれば募集中です。

1.iOSのテストアプリ配布には対象者のデバイス登録が必要

DeployGateFirebase Distributionなどを使用して特定のデバイス向けに検証用のアプリを配布する際は、developer.apple.com > Devicesでテストデバイス登録が必要になるかと思います。
インストール対象デバイスのUUIDを直接登録するか、.txt.deviceidsの拡張子でファイルインポートを行い、該当のプロビジョニングファイルの更新後にアーカイブし直し再配布することで、対象デバイスでのインストールが可能になります。
ほかに、Xcode経由で接続デバイスを登録することも可能ですが、そもそも実機ビルドできるのは開発者のデバイスに限ると思うので、開発者以外に配布する際は、必ず上記のUUID登録を行うでしょう。

では、本題へ

2.なぜかデバイス登録がすぐに完了しない...

ある時、なぜかデバイス登録がすぐに完了しないという事象に遭遇しました。

検証アプリの社内配布用で追加のデバイス登録が必要になったので、
いつも通りdeveloper.apple.comでデバイス登録をしたところ、ステータスがProcessingで止まってしまいました。

developer.apple.com>Devices
その後、登録が完了したのは、丸1日ほど経った頃でした。

3.ヘッダーのメッセージにはこうある

これらのデバイスは現在登録手続き中です。24時間から72時間以内に開発およびアドホック配布が可能になる可能性があります。デバイスの可用性の変更は、[ステータス] 列に表示されます。

4.こうなったらどうしようもない

冒頭にも書きましたが、もう待つしかないです。
72時間以内じゃなくて、24時間は最低でもかかりそうな書き方なのですが、もう仕方がありません。
丸3日以内には無事完了するはずなので待ちましょう。

5.デバイス登録の制限事項

僕が知っていたのは、かなり前からある制限事項だけでしたが、実はそれとは別の条件がありました。
これみなさん知っていたでしょうか?

有名な制限事項

昔から知られたテストデバイスの登録上限100台という条件。
また、年1の整理についても大変参考になる記事がありましたので知らない方は以下をご確認ください。
https://qiita.com/enjapan_common_user/items/7fb6ec3a4dd5fa7e7b82#device-について
https://qiita.com/nacam403/items/a9671c25bf951f6895af

今回知った制限事項

公式リファレンスのDevice registration updatesに記載がありました。

https://developer.apple.com/help/account/reference/device-registration-updates/
公式リファレンスの説明と表を抜粋

登録済みのテストデバイスを有効にするには、Apple Developer Program の新規メンバーシップ、または有効期限が 1 か月以上経過した後に更新されたメンバーシップについて、追加の処理が必要になる場合があります。この間、デバイスは登録されますが、処理が完了するまで、デバイス識別子はプロビジョニングプロファイルに含まれません。既存のアクティブなメンバーシップは、この変更の影響を受けません。

登録されたテストデバイス数
(プラットフォームごと)
時間枠
1~10まで 登録時
11~100 24~72時間以内
  • プロビジョニングデバイス識別子が、Apple Developer Program License Agreementに違反したために終了したメンバーシップに関連付けられていた場合、デバイスは最大30日間、不適格なステータスに移行する可能性があります。

また、公式フォーラムであるDeveloper Forumsスレッドにも同じことが書かれていました。

私も同じ問題を抱えている。10個のUDIDを取得した後、アップルは新規登録されたUDIDを更新するのに24時間から72時間かかるようになったようだ。昨日、新しいiPhone 15を手に入れ、開発をそれに切り替えたいと思ったが、待ちぼうけだ。様々な会社のコンサルティングメンバーとして、私は自分のUDIDをデベロッパーとして登録している他の会社に追加すれば、すぐに利用できることに気づいた。ただし、登録端末が9台以下の場合に限る。新しいルールだとどこかで読みました。このページを見てください: [https://developer.apple.com/help/account/reference/device-registration-updates/)。
そこにははっきりとこう書かれています:
" 登録済みのテストデバイスを有効にするには、新規の Apple Developer Program メンバーシップ、または有効期限が 1 ヶ月以上経過した後に更新されたメンバーシップに対して追加の処理が必要になる場合があります。この間、デバイスは登録されますが、処理が完了するまで、デバイス識別子はプロビジョニングプロファイルに含まれません。既存のアクティブなメンバーシップは、この変更の影響を受けません。"
ということで、新しいポリシーなのでしょう(?)

完全には推測し辛いですが、
要約すると、

  • Apple Developer Program の新規メンバーシップ、有効期限が1か月以上経過した後に更新されたメンバーシップはデバイス登録はできるけど、処理が完了しないとプロビジョニングファイルにデバイスIDに含められない(≒デバイス登録処理が完了しないと同義?)
  • デバイス登録数11台目からは24〜72時間かかる(必ず?)
  • プロビジョニングデバイスID(プロビジョニングファイルに紐付けたデバイスID?)が違反終了したメンバーシップと関連付けされてたら最大30日間は不適格なステータスになる(=登録できない)

ということのようです。

6.最後に

今回は、iPhoneの種別だけで見ると、12台目の登録で発生しましたが、振り返ると前回の11台目の登録の時にも発生したのを思い出しました。
なので、リファレンス通りの11台目からの発生と一致しますね。

どのタイミングから追加されたのかは定かではありませんが、フォーラムの回答を加味すると、恐らく、新しく追加された項目なのかもしれません。

というわけで、結局、待つしか解決策は見つけられていないのですが、
特定の条件下やテストデバイスが10台を超えてしまう場合、デバイス登録に最大で72時間かかってしまう可能を踏まえておくと良いでしょう。(必ず11台目以降で発生するかは未確認)
また、年に1度、アカウント更新のタイミングで登録デバイスの削除もできますので、登録デバイス数は、必要最低限に留めておくことも大事かと思います。

ワークアラウンドとして、
処理中の時に、その端末を取り寄せて、手元のXcode経由で登録したら即完了になるのか?
そもそも取り寄せることができるなら、11台目からは、地道にXcodeからデバイス登録挟めば即完了になるのだろうか?
という疑念は残るので
タイミングあれば試してみようと思います。

そんな備忘録でした。

Discussion