SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社では、「独習」「徹底入門」「スラスラわかる」「絵で見てわかる」「一年生」などの人気シリーズをはじめ、言語や開発手法、最新技術を解説した書籍を多数手がけています。プロジェクトマネジメントやチームビルティングといった管理職向けの書籍も豊富です。

ITエンジニアとしてのスキルアップ・リスキリングに、ぜひお役立てください。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
Flutterで始めるモバイルアプリ開発

アプリ名やアイコン設定までFlutterで完結! 開発者向けツールを紹介

Flutterで始めるモバイルアプリ開発 第29回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Flutterアプリ開発における最大の利点は、各OS用のネイティブ言語を使わず開発できる点です。同様に、環境もほぼ気にせず、開発を進められます。しかし、いざ本番としてリリースしようとすると、アプリ名やアイコンなどのリリース設定の違いでさえ、各ネイティブ環境の違いに困惑してしまうケースがあります。今回は、こういった問題を解決するための便利なツールについて紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

AndroidとiOSアプリの基本的設定の違い

 まず、最初にFlutterにおけるAndroidとiOSアプリの管理についておさらいします。

 Flutterの場合、ターゲットとするAndroid、もしくはiOSのプロジェクトファイルが完全に内包されています。従って、Android向けのアプリ設定であれば、図1のようにAndroidプロジェクト内のファイルを開き、設定ファイルを編集すれば問題ありません。

図1:Android向けプロジェクの設定の変更
図1:Android向けプロジェクトの設定の変更

 また、iOSの場合でも同様に設定ファイルを開いて直接編集することもできますが、一般的には図2のようにXCodeからプロジェクトを開いて編集するやり方が一般的です。

図2:iOS向けプロジェクの設定の変更
図2:iOS向けプロジェクトの設定の変更

 これらの方法に慣れている方であれば、これまでのネイティブ開発の知識を生かしつつ、自分で必要な情報を調べることは容易だと思います。

 しかし、Flutterでのみアプリ開発をしていて、それぞれのネイティブ開発にはほぼ触ったことがない人にとって、調べるにもどのような用語で調べればよいのかわかりにくく、また、何を見ればよいのか分からないというケースもあります。

 また、FlutterはAndroidやiOSだけではなく、WindowsやMac OSのアプリもサポートしています。今後、そういったデスクトップ環境への展開も考えている場合、すべての環境の設定の知識をつけていくことは大変でしょう。

 そこで本稿では、できるだけネイティブでの標準的なやり方ではなく、Flutter開発者が管理しやすい手法を紹介していきます。

開発ツールの現状を確認する

 実際にリリース用のビルド設定を見直す前に、まず開発環境の設定を確認することをおすすめします。

 特に、開発期間が長い場合、開発時とリリース時において各種ツールや配布向けOSのバージョンなどがアップデートしている場合もあります。

 ネイティブ向け開発と比べると、Flutterアプリであれば各種環境への依存度は低いケースが多いはずです。もちろん、計画している依存であれば問題ありませんが、意図していない依存やちょっとしたワーニングなどが生じている場合、時間が経つほど解決が難しくなります。

 そのため、リリースする前のタイミングで、flutter doctorコマンドを用いて現状確認しておくことをおすすめします。

 また、そこで表示された問題がある場合にはできるだけ解決するようにしてください。また、flutter doctorコマンドの使い方は第2回でも紹介しているので、そちらも参照してください。

[リスト1]Flutter Doctorコマンドの実行例
$flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.3, on macOS 14.6.1 23G93 darwin-arm64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
// (省略)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
アプリ名・パッケージ(バンドル)名の変更

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Flutterで始めるモバイルアプリ開発連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20495 2024/11/28 11:00
" ); }

おすすめ

アクセスランキング

  1. 1
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  2. 2
    Oracle、プログラミング言語/開発プラットフォーム「Java 24」をリリース
  3. 3
    マイクロソフト、コンパイラとツールの移植でTypeScriptを10倍の処理速度へ
  4. 4
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  5. 5
    MIXI、動画制作などのクリエイティブ技術を無料で学べる「ミクデザキャンプ」を公開
  1. 6
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  2. 7
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  3. 8
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  4. 9
    暗号化通信のためのオープンソースツール「OpenSSL 3.5.0」のalpha1バージョンがリリース
  5. 10
    従業員1000名以上の大企業、45.7%が過去1年以内にセキュリティインシデントまたはサイバー攻撃の兆候を経験

アクセスランキング

  1. 1
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  2. 2
    Oracle、プログラミング言語/開発プラットフォーム「Java 24」をリリース
  3. 3
    マイクロソフト、コンパイラとツールの移植でTypeScriptを10倍の処理速度へ
  4. 4
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  5. 5
    MIXI、動画制作などのクリエイティブ技術を無料で学べる「ミクデザキャンプ」を公開
  6. 6
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  7. 7
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  8. 8
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  9. 9
    暗号化通信のためのオープンソースツール「OpenSSL 3.5.0」のalpha1バージョンがリリース
  10. 10
    従業員1000名以上の大企業、45.7%が過去1年以内にセキュリティインシデントまたはサイバー攻撃の兆候を経験
  1. 1
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  2. 2
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  3. 3
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  4. 4
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  5. 5
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  6. 6
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  7. 7
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  8. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点
  9. 9
    Reactアプリ開発の環境構築ツール「Create React App」が非推奨に
  10. 10
    「Tailwind CSS」の公式UIライブラリ「Tailwind UI」、サービス拡大を視野に「Tailwind Plus」へ名称変更

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  2. 2
    Oracle、プログラミング言語/開発プラットフォーム「Java 24」をリリース
  3. 3
    マイクロソフト、コンパイラとツールの移植でTypeScriptを10倍の処理速度へ
  4. 4
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  5. 5
    MIXI、動画制作などのクリエイティブ技術を無料で学べる「ミクデザキャンプ」を公開
  1. 6
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  2. 7
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  3. 8
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  4. 9
    暗号化通信のためのオープンソースツール「OpenSSL 3.5.0」のalpha1バージョンがリリース
  5. 10
    従業員1000名以上の大企業、45.7%が過去1年以内にセキュリティインシデントまたはサイバー攻撃の兆候を経験

アクセスランキング

  1. 1
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  2. 2
    Oracle、プログラミング言語/開発プラットフォーム「Java 24」をリリース
  3. 3
    マイクロソフト、コンパイラとツールの移植でTypeScriptを10倍の処理速度へ
  4. 4
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  5. 5
    MIXI、動画制作などのクリエイティブ技術を無料で学べる「ミクデザキャンプ」を公開
  6. 6
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  7. 7
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  8. 8
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  9. 9
    暗号化通信のためのオープンソースツール「OpenSSL 3.5.0」のalpha1バージョンがリリース
  10. 10
    従業員1000名以上の大企業、45.7%が過去1年以内にセキュリティインシデントまたはサイバー攻撃の兆候を経験
  1. 1
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  2. 2
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  3. 3
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  4. 4
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  5. 5
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  6. 6
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  7. 7
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開
  8. 8
    フロントエンドの定番ライブラリ「React 19」の新機能を紹介──React Server Componentsとその他の改善点
  9. 9
    Reactアプリ開発の環境構築ツール「Create React App」が非推奨に
  10. 10
    「Tailwind CSS」の公式UIライブラリ「Tailwind UI」、サービス拡大を視野に「Tailwind Plus」へ名称変更