モバイル開発

バンドルIDの確認プラットフォームごとの差を見つける

既存の識別子を一つ入力し、対象のプラットフォームを選んで各段の結果を確認します。

バンドルIDの確認

アプリの識別子

検査結果

識別子を入力すると段ごとの結果を確認できます。

識別子はこのブラウザー内で検査します。ストアには接続しません。

識別子を入力すると段ごとの結果を確認できます。

公開前の識別子に余計なピリオドが一つあるだけで、後から厄介な問題になります。バンドルIDの確認ではプロジェクトの設定値をそのまま調べ、文字を勝手に削除しません。

Androidパッケージ名にはアンダースコアが使えますが、iOSのBundle IDでは使えません。逆にハイフンはiOSで使えます。名前付けの慣例と構文違反を別々に表示します。

バンドルIDの確認が役立つ理由

同じ文字列でも、選ぶプラットフォームで判定が変わります。

問題のある段を特定

バンドルIDの確認はピリオドで分割し、空の段、数字で始まる段、許可されない記号の位置を示します。元の値は残るので、XcodeやGradleの該当箇所を自分で修正できます。

ピリオドで区切られた三つの段のうち、二番目だけがエラーとして強調されている図。

iOSとAndroidを同じ入力で比較

iOSではハイフン、Androidではアンダースコアが使えます。プラットフォームを切り替えると元の入力のまま再検査するため、別のアプリIDへ自動的に書き換える心配がありません。

二つの端末パネルがiOSで許可されるハイフンとAndroidで許可されるアンダースコアを比較する図。

公開する設定値を見落とさないために

01

実際のビルド設定を確認

Androidではコードのnamespaceではなく、アプリモジュールのapplicationIdを確認します。iOSではターゲットのBundle Identifierを使います。ワイルドカードApp IDは実際のBundle IDではありません。逆ドメイン形式も合わせて確認します。

02

判定する側を先に選択

初期値はAndroidです。iOSへ切り替えるとハイフンとアンダースコアの扱いが逆になります。入力内容は維持されるため、プラットフォーム差をそのまま比較できます。

03

新しい結果を待ってからコピー

自動検査は入力後350ミリ秒待ちます。オフにするとボタンまたはCtrl/Cmd+Enterで実行できます。編集後の古い結果はコピーできません。

構文の違いを目で追える結果

AndroidのapplicationId

二つ以上の段、各段の英字始まり、英数字とアンダースコアだけという条件を確認します。大文字は規則上有効なので、誤ってエラーにはしません。

iOSのBundle ID

英数字とハイフンを許可し、アンダースコアやワイルドカードの星印を検出します。一段だけの値には逆引きDNS形式の提案を出しますが、構文エラーとは区別します。Bundle IDの命名規則も確認できます。

一つの値を段ごとに報告

段番号と問題を並べた結果はコピーできます。構文が通っても、ドメインの所有権やストアでの登録可否を証明するものではありません。パッケージ名の検証結果を共有できます。

この検査だけでは分からないこと

ストアの空き状況は対象外
ここでの合格は文字と段の判定だけです。AppleやGoogleで既に登録されているか、アカウントが使えるかは開発者コンソールで確認してください。
署名とプロジェクトは読まない
入力は一つの文字列です。APK、IPA、Info.plist、Gradleを解析しないので、Team IDや証明書、実際のビルド結果との一致までは確認できません。
ワイルドカードを展開しない
com.company.*のようなApp IDは登録用の照合パターンです。具体的なiOSアプリのBundle IDではなく、星印も許可文字に含まれません。
慣例と必須条件を分ける
小文字を勧めても、Androidの大文字やアンダースコアは有効です。外部サービス独自の長さ制限や予約語の扱いを共通のプラットフォーム規則にはしません。
生成や一括処理はしない
既に決めた識別子を一件ずつ確認します。自動変換はアプリの恒久的な識別子を変えかねず、公開後の変更は別アプリとして扱われる場合があります。

バンドルIDの確認でよくある質問

MonacaのAndroid設定でパッケージ名に「_」を使えないのはなぜですか?

AndroidのapplicationId自体は各段の先頭以外でアンダースコアを許可します。Monacaなどの入力画面に独自制限がある場合は、そのサービスの仕様も確認してください。

更新時にパッケージ名を同じにする必要はありますか?

同じAndroidアプリの更新として配布するならapplicationIdを維持します。別の識別子は別アプリとして扱われます。この画面は値の構文だけを確認します。

署名やパッケージ名を変えて既存アプリを更新できますか?

識別子や署名の変更は更新の同一性に影響します。ここでは署名を読めないため、開発者コンソールと配布先の要件を別途確認してください。

アルファ版のパッケージ名を製品版でも使えますか?

同じストア掲載のテストトラックから正式版へ進むなら、同じアプリIDを使います。並行して別アプリとして配布する場合は、別のIDが必要です。

パッケージ名の登録状況はどこで確認できますか?

登録状況は対応する開発者コンソールで確認します。バンドルIDの確認はローカルの構文判定であり、ストアへの問い合わせは行いません。

規則の解釈で困っていますか?

公開前にバンドルIDの確認をもう一度

バンドルIDの確認に公開予定の値を入れ、結果を見てからXcodeやGradle、開発者アカウントの設定と照合してください。