DEV Community

UIKit_Ninja
UIKit_Ninja

Posted on

What Flutter Development Tools Are Available? A Practical Guide to Cross-Platform Project Development and Publishing

If we only list which tools Flutter has, it's easy to list a bunch of names. But how these tools connect with each other is the most time-consuming part in actual development.

Below, from project creation → debugging → building → iOS publishing, each step corresponds to a specific tool, and we explain when and how to use them.


Project Initialization

A Flutter project is created from the command line. Run the following on your system (Windows / macOS / Linux):

flutter create my_app
cd my_app
flutter run
Enter fullscreen mode Exit fullscreen mode

After this step, Android can run directly, and the iOS project will automatically generate the /ios directory.


Tools

Tool Purpose
Flutter SDK Core for project creation and building
Dart SDK Language support

Development Phase

Common choices:

  • VS Code
  • Android Studio

Key features:

  • Hot Reload
  • Debug panel
  • Log viewer

For example, in VS Code:

flutter run --verbose
Enter fullscreen mode Exit fullscreen mode

You can see:

  • Network requests
  • Rendering logs
  • Crash information

Dependency Management: pubspec.yaml

Flutter project dependencies are centralized in:

dependencies:
  http: ^1.0.0
  provider: ^6.0.0
Enter fullscreen mode Exit fullscreen mode

Run:

flutter pub get
Enter fullscreen mode Exit fullscreen mode

This step will:

  • Download dependencies
  • Update the lock file

If the build fails, check here first.


Building Flutter iOS: Underlying Xcode

Run:

flutter build ipa
Enter fullscreen mode Exit fullscreen mode

Flutter will:

  1. Compile Dart code
  2. Invoke Xcode to build
  3. Generate an IPA

This step depends on:

  • Certificates
  • Provisioning profiles

If signing is missing, it will fail directly.


Signing Preparation: Flutter Itself Does Not Handle Certificates

Flutter is not responsible for certificate generation; additional tools are needed.

You can use AppUploader (Happy Release) to prepare the signing environment:


Generate Certificate

  1. Open the tool
  2. Enter certificate management
  3. Create a new certificate (distribution)
  4. Set a password
  5. Download .p12 Create certificate

Create Provisioning Profile

  1. Enter provisioning profile management
  2. Create a new App Store type
  3. Bind Bundle ID
  4. Select the certificate
  5. Download .mobileprovision Provisioning profile

Use in Flutter Project

After importing the certificates, Xcode will recognize them, and flutter build ipa can execute normally.


Upload IPA: Flutter Does Not Include Upload Capability

After Flutter builds, you only get an IPA file.

Uploading requires additional tools.

Options include:

  • Xcode Organizer (macOS)
  • Command line tool
  • AppUploader

Upload with AppUploader

On Windows or macOS:

  1. Open the submit upload page
  2. Enter Apple ID
  3. Set app-specific password
  4. Select the IPA file
  5. Select the upload channel
  6. Execute upload Upload

After upload completes:

  • The build appears in App Store Connect

Screenshots and Resource Preparation: An Easily Overlooked Step

Flutter does not handle App Store assets.

You need to prepare:

  • iPhone screenshots
  • iPad screenshots (if supported)
  • App icon

You can take screenshots using the simulator or use online generation tools, for example:

  • Adjust resolution to generate iPad screenshots
  • Use icon tools to generate Assets
  • Or go to the Appuploader website

Common Pitfalls

In Flutter projects, common errors:

  • Bundle ID modified but provisioning profile not updated

Symptoms:

  • Build succeeds
  • Upload fails or no build appears

Solutions:

  • Regenerate the provisioning profile
  • Confirm Bundle ID consistency

Flutter's advantage lies in a unified development experience, but during the iOS publishing phase, you still need to understand Apple's signing and release mechanisms.

Top comments (0)