コマンドラインツールテンプレートを使用すると、ウィザード内にバンドル識別子があります。バンドル識別子とはどういう意味ですか?これは名前空間に似ていますか?
3 に答える
アップルのドキュメントによると:
バンドル識別子により、iOS と macOS はアプリの更新を認識できます。バンドル ID は Apple に登録され、アプリに固有のものである必要があります。バンドル ID はアプリの種類 (iOS または macOS) に固有です。iOS アプリと macOS アプリの両方に同じバンドル ID を使用することはできません。
編集
Xcode 11.4 以降、ユニバーサル購入機能をサポートする場合は、iOS と macOS アプリの両方に同じバンドル識別子を使用できます。
リリースノートより
Xcode 11.4 は、ユニバーサル購入として macOS アプリのビルドと配布をサポートしています。macOS アプリをユニバーサル購入として配布するには、新しいプロジェクトを作成するときに、Xcode テンプレート アシスタントで iOS アプリと同じバンドル ID を指定します。既存のプロジェクトがある場合は、プロジェクト エディターでそのバンドル識別子を編集します。
バンドル ID は、システムに対してアプリケーションを識別する一意の文字列です。これは、表示名(名前空間は通常、フレームワークのプレフィックスです)と比較されます。これは、iOS がスプリングボードでアプリの名前を表示するために使用するものです。
バンドル ID は、通常 (常にではありません)、逆 DNS 表記 (つまり、com.myCompany.myApp) で書き出されます。
上記の回答にさらにポイントを追加します: プロビジョニング プロファイル、アプリのバンドル ID は一意である必要があり、プロジェクトはチームに割り当てられます。この ID は、アプリのターゲットの一般タブで設定できます。Xcode は、デフォルトのバンドル ID を作成するために、テンプレートからプロジェクトを作成するときに入力した製品名と会社の識別子を連結します。文字列形式は、Uniform Type Identifier (UTI) である必要があります。これは、英数字 (AZ、az、0-9)、ハイフン (-)、およびピリオド (.) です。