iOSアプリのApp ID PrefixをチームIDに変更した話

iOSアプリ

今回、iOSアプリのPrefixIDをTeamIDに変更する必要に迫られて変更しました。
レアなケースだと思いますが、何らかの事情で変更したいという人もいるかもしれないのでご参考に。

アプリのIDについて

まずおさらいですが、iOSのアプリはいくつかのIDによって識別されます。

Apple ID

これはAppStore内でのアプリのURLに含まれている数字でAppStore Connectなどでも確認できます。おそらくこの数字はAppStore Connectに登録された順に振られているような気がするので若い番号のアプリは老舗アプリなんじゃないかと思います。
ちなみにComgateの爆速オセロは621245609番でURLはこれです。
https://apps.apple.com/jp/app/id621245609

バンドルID

これもAppStore Connectで確認できますが、こちらは開発者が決めることができます。
アプリを作りはじめる時にDeveloper Centerで登録するアプリ固有のIDです。
jp.comgate.appnameのような形式になってます。

App ID Prefix

これはほとんどの場合TeamIDが使われています。
TeamIDはアプリ開発チームごとに振られるIDでAppleからもらえる英数字の10桁(僕のは10桁でした)のIDです。
Prefixとあるように、バンドルIDの前にこのIDを合体させた
TeamID. jp.comgate.appname
のようなIDでアプリが管理されているようです。

こむ太郎
こむ太郎

一人でアプリを作っているので僕のTeamIDは実質的に僕専用のIDになっています。

各種のIDはDevelopper Centerで確認できます。

Developper Center
Developper Center

App ID Prefixは基本的には変更できない

さっき書いたように、普通はTeamID. jp.comgate.appnameという形でTeamIDとバンドルIDを合体したIDでアプリが管理されています。

普通は変更する必要はないし変更することもできないのですが、古いアプリだとPrefixがTeamIDではなく開発者固有のIDになっていることがあります。

いつの頃からかPrefixにはTeamIDが使われるようになったようですが、僕のように古くからアプリを作っているとアプリによって混在した状態になっているので時々混乱します。

たまに混乱するものの、あまり気にしてはいなかったのですが先日、古いアプリをアップデートしようとした際にプッシュ通知ができないという事象にはまっていました。

プッシュ通知にはGoogleのFirebaseを使っているのですが、調べているとこんな情報を発見。

アップデート中のアプリはPrefixがTeamIDになっていなかったので、ビンゴ!まじか!ということでPrefixをTeamIDに変える必要に迫られました。

PrefixをTeamIDに変更する方法

最初に書いたように、基本的にはPrefixを変更することはできません。

Developer Centerでも自分で変更することはできないようでした。

変更する場合は、Appleに問い合わせをしてPrefixをTeamIDに変更したいことを伝えることで、Apple側で変更の対応をしてくれます

Appleのサポートとはアプリがリジェクトされた時などもやりとりしますが、英語がよく分からないので相手の言っていることも朧げにしか理解できず、こちらから伝えたいこともうまく伝えられず四苦八苦してるので、あまり印象が良くないです。

こむ太郎
こむ太郎

いちど、突然英語で電話がかかってきたことがあって焦ったことがあります。

ところが、知らなかったのですが日本語で受付してくれる窓口があるんですね。

下記サイトからだと日本人が日本語で対応してくれます。

Apple Developerお問合せ先

お問い合わせ – Apple Developer(https://developer.apple.com/contact/topic/select)

問い合わせをしたあとはメールのやり取りになりますが、日本人の担当者が対応してくれてスムーズにやり取りができました。

流れとしては、

問い合わせ後の流れ
  1. 変更前後の内容の確認とPrefixを変更することの影響の説明を受ける
  2. 影響を確認してPrefixを変更をAppleに依頼する
  3. Apple側でPrefixの対応を実施してくれる
  4. Developper CenterでPrefixが変わっていることを確認
  5. Appleから作業完了の連絡

週末をはさんで、約1週間で変更できました。

Apple側でのPrefixの対応が3〜4日かかりました。

こむ太郎
こむ太郎

思ったより時間がかかったので忘れられているんじゃないかと思って、途中で一度確認の問い合わせをしてしまいましたが無事終わりました。

Prefix変更の影響

問い合わせをした時に説明を受けたのですが、Prefixを変更してしまうと影響を受けるアプリもあるようです。

具体的にはキーチェーンを使っているアプリとかは、アプリをアップデートした時に元のキーチェーンが使えなくなるようです(と解釈しましたが、詳しくは英語の下記ページを参照)。

Prefix変更の影響

Technical Note TN2311: Managing Multiple App ID Prefixes(https://developer.apple.com/library/archive/technotes/tn2311/index.html) 

僕のアプリはキーチェーンは使ってなかったので特に影響なしです。

ちなみにPrefixが変更された後にアプリをアップデートのためにAppStore Connetにアップロードした際にも、そのような内容の警告が出ました。

こちらは警告なので問題なければ無視して良いようです。

最後のオチ

今回、プッシュ通知ができなくなったのを解消するためにPrefixの変更をしたのですが、結果、Prefixを変更してもプッシュ通知は動作しませんでした。

お恥ずかしい話、普通にプログラムがバグっていたのでPrefixを変更した後にプログラムも修正して無事プッシュ通知が送れるようになりました。

なので、プッシュ通知を送るために本当にPrefixを変更する必要があったのかどうかは、よく分かりません。

まぁ、PrefixをTeamIDに統一できた方が分かりやすいので、変更できたのは良かったのですがね。

コメント

タイトルとURLをコピーしました