Apple DeveloperサイトでApp IDの登録がエラーになったときの対処法

Flutter

Flutterで開発したアプリを、iOSアプリとしてリリースするには、Apple Developerの有料契約をした後、Apple DveloperのサイトにApp IDの登録をする必要があります。

 

通常、このApp IDには、Flutterプロジェクトから起動したXcode上の「Bundle Identifier」に設定している名前を登録することになりますが、自分の場合は、

 

An attribute in the provided entity has invalid value

An App ID with Identifier ‘com.xxxxxxxx.yyyyyyyyyyy’ is not available. Please enter a different string.

 

というエラーが出て、登録できませんでした。

 

この解決にかなり苦労したので、その過程と対処法を共有したいと思います。

 

自分の状況における結論は、以下のいずれかです。

 

  • Provisioning Profileの有効期限(1週間)が過ぎるまで、Xcodeでビルドせず待つ
  • Apple Developerのサポートに連絡して使用可能にしてもらう

 

自分と同じ状況の方には、ご参考になれば幸いです。

 


40代からプログラミング(Flutter)を始めて、GooglePlayAppStoreに初アプリを公開したhalzo appdevです。

 

作成したアプリはこちら↓

シンプルメモ帳「BasicMemo」 – 文字数カウント、ワンタッチ入力、タグ管理等の便利機能を搭載

Google Play で手に入れよう
Download on the App Store

 

スポンサーリンク

なぜエラーになったか

Flutterで開発中、iOSシミュレーターでテストするには、Xcode上の「Team」に、Apple IDを設定する必要があります。

 

自分はこの「Team」に、Apple Developer契約をしていない無料アカウント(Apple ID)を設定していました。

 

※学習中の段階では、まだApple Developerの有料契約はしたくないですから、無料アカウントでテストしている方は多いと思います。

 

しかし、iOSの審査に出すには、開発専用のApple IDを取得したほうが良いと考えたので、新しく作成したApple IDでApple Developerの有料契約をしました。

 

一方、Apple Developerサイトに登録するApp IDは、Xcodeの「Bundle Identifier」に設定した名前(以下、仮に「com.xxxxxxxx.yyyyyyyyyyy」とします。)と一致させるのが通常なので、自分もそうしようとしました。

 

しかし、この「Bundle Identifier」は、過去、「Team」に設定した無料アカウント(Apple ID)と紐付いてしまっていて、別のApple IDからは使えなくなっていました。

 

これがエラーの原因でした。

 

 

Xcode上で紐付けの変更を試みるもエラー

そこで、Xcode上で新しいApple IDに「Bundle Identifier」を紐付けるよう変更を試みました。

 

具体的には、Xcodeの「Runner」→「Signing & Capabilities」→「Signing」の「Team」で、「Add Account…」から、Apple Developer契約に使ったApple IDを登録し、「Bundle Identifier」との紐付けを変更できるか試しました。

 

すると、以下のようなエラー画面に。。。

 

 

出ているエラーメッセージ自体は、Xcodeを使っていると、よく目にするエラーです。

 

これは、「Bundle Identifier」をユニークな(他の人が使っていない)名称に変えないと解消しないエラーなので、この方法では紐付けを変更できないことが分かりました。

 

※「Bundle Identifier」をユニークな名称にしてエラーを回避する件については、以下の記事をご参考ください。

 

 

Bundle Identifierを変更すれば登録はできる

Apple Developerのサイトで、現状の「Bundle Identifier」とは異なる名称で、App IDの登録を試みると、問題なくできました。

 

しかし、Flutterの場合、iOSの「Bundle Identifier」、Flutterの「Project name」、Androidの「package name」は全て紐付いており、かつ自分の場合は、既にGoogle Play上にアプリをリリース済でした。

 

そのため、今からiOSの「Bundle Identifier」だけ変更すると、後々不具合を誘発しそうなので、避けたいと考えました。

 

調べてみると、下記記事のとおり、「Bundle Identifier」の名前を変えてもビルドできる、と教えてくださる情報もあったので、やっても良かったかもしれないです。

 

  

ただ、ビルドできても起動できない恐れがある、との記述もあったので、ちょっと踏み切れませんでした(自分の理解が足りていないのも多分にあります)。

 

1週間待てば解決しそう

なんとか「Bundle Identifier」の名称を変えずに、Apple DeveloperサイトにApp IDを登録する方法がないか調べていると、以下の情報を見つけました。

 

  

無料アカウントを登録した場合は、1週間、Xcodeで新たなビルドをせずに待てば解消されるとのこと。とてもありがたい情報です。

 

そこで、Xcodeの「Provisioning Profile」の右にある「i」マークを押してみると、確かに有効期間があと6日と表示されている事に気づきました。

 

 

「あと6日」となっていますが、表示されている「iOS Team Provisioning Profile: com・・・」のところをクリックして「Provisioning Profile」を開くと、実質的に有効期間が1週間で切れることが分かります。

 

 

なお、「Provisioning Profile」は、Apple IDと「Bundle Identifier」との紐付きを保証する証明書みたいなもの、と理解しています。

 

どうやら1週間経てば、別のApple IDで紐付けし直すことができそうです。

 

ちょっと希望が湧いてきました。

 

待てないのでApple Developer Supportに問い合わせてみる

ただ、正直「1週間も待ちたくない」と思いましたw

 

そこで、Apple Developerにユーザーサポートがあることを思い出しました。

 

サポートサイトを見ると、Xcode関連のような技術的な内容も受け付けているようです(どの程度対応いただけるかは未知数ですが、、、)。

 

Apple Developer契約に、年間1万円以上もの登録費を払っている立場ですし、これを活用しない手はないと思いました。

  

早速、問い合わせページから、

 

無料Apple IDと「Bundle Identifier」(com.xxxxxxxx.yyyyyyyyyyy)との紐付きを解消してもらえませんか?

 

という趣旨の問い合わせをしてみました。

 

Apple Developerの問い合わせは、以下の画面からできます。

 

 

【注意点】

問い合わせする際は、現時点で「Bundle Identifier」と紐付いている方のApple IDでログインしてください。

 

※自分の場合は、前述のとおり、紐付いているのがApple Developer契約をしていない無料アカウント(Apple ID)だったので、上記Apple Developerサイトの画面は、無料契約者用の画面になっています。

 

初め自分は、Apple Developerと有料契約したApple IDでログインし、問い合わせをしたのですが、サポートからの返信で、

 

現在紐付いている無料Apple IDの方から、再度お問い合わせください。

 

と見事に振られてしまいました。。

 

そこで、無料Apple IDでApple Developerのサイトにログインし(無料のままでもログイン自体はできます)、再度、同じ問い合わせをしました。

 

また、自分の場合、しばらく無料のApple IDでログインしていなかったせいか(多くの方がそうだと思いますが、、)、Apple Developerのサイトにログインした直後に、アカウントの確認?に関する問い合わせのようなページが出ました。

 

この問い合わせ欄に何か入力しないと、先に進めない感じだったので、やむなく今回の問い合わせ内容を入れて送信しました(しかも英語じゃないと駄目でした、、、)。

 

結局、アカウント関係の問い合わせに対して、的外れの問い合わせをした形になったので、先方からは、

 

アカウント関係のサポートなんですが、、、

 

という困惑した感じの返事が来てしまいました。

 

後で分かったのですが、このアカウント関係の問い合わせページはスキップでき、有料Apple Developer向けと同じ画面遷移で、サポートの問い合わせページまで行けました。

 

※アカウント関係の問い合わせページはキャプチャできなかったので、上記で掲載した画面遷移には含まれていません。

 

そこで改めて、正規の問い合わせページから、三度目の問い合わせを送りました。。

 

結局、時間が解決した

サポートからの返信後、Apple DeveloperにApp IDを登録

Apple Developerのサポートから返信があり、

 

無料Apple IDと「Bundle Identifier」との紐付きを解消したので、新しいApple IDで使えるようになりました。

 

とのことでした。ちゃんと対応いただけて、大変助かりました。

 

結果、Apple Developerのサイトに、当初予定していた「Bundle Identifier」の名称(仮名:com.xxxxxxxx.yyyyyyyyyyy)で、App IDを登録することができました。

 

 

ただ、最終的な返信を受けたのが、問い合わせから1週間後だったので、単に「Provisioning Profile」の有効期限が切れた影響かもしれず、正直、どちらのおかげで解消されたのか、分かりませんでした。

 

Appleのサポート返信は、問い合わせ日から2営業日かかることになっており、自分の場合は3回も問い合わせたため、トータル1週間かかってしまいました。。

 

Xcode上でエラー。実機の接続・登録で解消

Apple DeveloperサイトへのApp ID登録後、Xcodeを開き、「Team」を有料のApple IDに変更しましたが、下記エラーになってしまいました。

 

  

Failed to create provisioning profile.

No profiles for ‘com.xxxxxxxx.yyyyyyyyyyy’ were found

 

よく読むと、Developerサイトに登録されたデバイスが無い、ということが原因のようです。

 

こちらの記事でも説明されていますが、macにiOS実機を接続すると解消するようです。

 

  

そこで、iPhone実機をmacに接続すると、今度は以下のエラーが出ました。

 

Device “qqqqのiPhone” isn’t registered in your developer account.

 

文字どおり、Developerアカウントにデバイスが登録されていないよ、ということなので、素直に「Register Device」ボタンを押すと、エラーが解消されました。

 

 

ちなみに、Xcodeの「Team」に有料契約したApple IDを設定すると、「Provisioning Profile」の有効期間は1年間になるようです。

 

※「11ヶ月」と書かれていますが、「Provisioning Profile」を開くと、ちょうど1年後の日付が期限として記載されています。

 

無料アカウントに比べるとだいぶ長いですね。さすが有料版です。

 

 

まとめ

紆余曲折ありましたが、今回の教訓に基づき、対処法を整理しておきます。

 

これからアプリ開発を開始する場合は、そもそもApp ID登録エラーを発生させないため、あらかじめ下記対応をしておく。

 

  • Xcodeの「Team」には、Apple Developerの有料契約に使用するApple IDを設定しておく。
  • Xcodeの「Bundle Identifier」には、Apple DeveloperサイトにApp IDとして登録して問題ない名称を設定しておく(これはFlutter Projectの名称を決める時点で意識しておく必要あり)。

 

既にXcodeの「Team」に無料アカウントのApple IDを設定してしまっている場合には、以下のいずれかで対応する。

 

  • 「Provisioning Profile」の有効期限(最大1週間)を確認し、期限が切れるまでXcodeでビルドせずに待つ
  • Apple Developerのユーザーサポートに連絡し、無料のApple IDと「Bundle Identifier」との紐付きを解消してもらう(このとき、Apple Developerのサイトには、無料のApple IDでログインして問い合わせをすることに注意!)

 

最後までお読みいただき、ありがとうございました。

 

コメント

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