普通にVSCodeやコマンドからFlutterプロジェクトを作るとBundleID・PackageNameはcom.example.hogehoge のように指定されてしまいます。

これを修正する方法を示すとともに、そうならないようにするVSCodeで開発している方向けの設定をご紹介します。

すでに作ってしまった場合の修正方法

  • iOS iOSの場合は一つだけ変更すれば良いので楽です。 FlutterプロジェクトのiOSディレクトリに移動します。

    /my_app/ios
    

    ここで

    xed .
    

    でXcodeでプロジェクトを開きます。

    以下の画像のようにTARGETSBundle Identifierを修正します。 以上で終わりです。

xcode22

  • Android Androidの場合は名前の修正とディレクトリの修正の二つがあります。

    • ネーム変更 VSCodeでプロジェクトを開きます。 ⌘ + shift + fでプロジェクト全体の検索画面を開きます。 以下のように検索窓にcom.example.{プロジェクト名前}を入れて検索します。

      searchvscode

      検索窓の左側に下向きの矢印ボタンがあるのでそれをクリックします。 その後置換するための窓が出てきますので、そこに変更したいPackage Nameを入れて、右側にある一斉置換のボタンをクリックすると名前を変更することができます。

      vscodereplace

    • ディレクトリ変更 Androidのデフォルトの言語がjavakotlinによって変わりますが、大体kotlinですので、以下のようなディレクトリ構成になっていると思います。

      my_app/android/app/src/main/kotlin/com/example/my_app
      

      ですので、この/com/exampleの名前を設定したいPackage Nameに変更しておきます。

    以上で終わりです。

VSCodeの場合のより良い方法

上記のようなことを毎回やるのはよろしくないので、次からは自動的にやってもらいたいと思います。

  • Settings.jsonを開く ショートカットキーcommand + ,

settings

organizationで検索し、DartのExtensionsのFlutter Create OrganizationからEdit in settings.jsonをクリックします。

edit

開くと以下のようなjsonがあるはずです。

jsonfile

これのart.flutterCreateOrganizationnullになっているため、ここを自身のorganizationを設定してあげます。

{
    "[dart]": {
        "editor.formatOnSave": true,
        "editor.formatOnType": true,
        "editor.rulers": [
            80
        ],
        "editor.selectionHighlight": false,
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        "editor.suggestSelection": "first",
        "editor.tabCompletion": "onlySnippets",
        "editor.wordBasedSuggestions": false
    },
    "dart.flutterCreateOrganization": "com.tsuzuki817"
}

そうすると次回からVSCodeでflutterプロジェクトを作成した時には自動的に設定した文字列からorganizationが設定されるようになります。

result

コマンドでやりたい人向け

プロジェクトを作るときに以下のコマンドを打つと、指定されたorganizationが反映されるそうです。

flutter create --org com.your.orgname my_app_name

参考URL