面白きことは良きことなり

拙く未熟なiOSエンジニアの備忘録と戯言

フリーのApple IDアカウントを使ってXcodeからアプリを実機転送できることで、App ID登録時にエラーを出してしまう可能性の問題

要約

  • Xcode7からApple IDアカウントがあれば、有料の開発者登録を行わずとも実機にアプリを転送できるようになった
  • その結果App IDを無作為に作成することができ、アカウントが違っても同じApp IDを作成することはできないので、何故かApp IDの登録でエラーになり、ナンデー?!となることも
  • フリーアカウントではApp IDの管理が一切できず、有料登録をするのも実際の開発をする人ぐらいなので、App ID取得するだけして放置される問題がある
  • 個人的には有料の開発者登録している人のみが実機にアプリを転送できる以前に戻って欲しい

問題の発生内容

1.→ フリーのApple IDアカウントでXcodeにサインイン後、適当なプロジェクトを作成

2.→ Bundle Identifierを任意のものに設定する

3.→ 実機を繋いでビルドする

4.→ 下記スクリーンショットのようにプロビジョニングが自動生成され、App IDも一意のものとして作成される

f:id:aryzae:20170422022542p:plain

5.→ 有料登録している開発者アカウントでApple Developerにサインインし、「2.」のBundle Identifierと同じ文字列をApp IDに登録を試みる

f:id:aryzae:20170422022540p:plain

6.→ 「There were errors in the data supplied. Please correct and re-submit.」「An App ID with Identifier ‘~’ is not available. Please enter a different string.」

とエラーが出て使えないから別のApp IDにしてねと言われる。

過去に自分が別アカウントとかで作って、忘れてる場合等にはこのエラー内容じゃ何がダメなのかわからないのも問題。

「既に使われています。」くらいのエラーは出して欲しいところ。

f:id:aryzae:20170422022541p:plain

対策

  • 安直な逆ドメインのApp IDとかは被りやすいため、なるべく複雑なものにする必要がある。
  • 個人のフリーアカウントで開発し、リリースは会社等の別アカウントで行う場合、誤ってフリーアカウントでApp IDを取ることもあるため、開発中は仮のBundle Identifierを設定したり、証明書とプロビジョニングをリリース予定アカウントから引っ張ってくる
  • ベストなのは、有料登録済みのリリース予定アカウントで、App IDを先に作成しておく

参考URL

dev.classmethod.jp