Deploying the Flutter app on the App Store is an easy process that takes some work, your app can reach a wide audience of iOS users who can easily download and install it on their iPhones or iPads. This enables your app to provide valuable services to your customers. Additionally, being on the App Store allows for increased discoverability, as users can easily search for and find your app among the millions of others available. This can lead to higher download rates and increased exposure for your brand.

Furthermore, having the app on the App Store allows easy updates and maintenance, ensuring your app remains up-to-date and compatible with the latest iOS versions.

Overall, deploying your Flutter app on the App Store is essential for maximizing its reach and success among iOS users.

Prerequisites

Apple Developer Account

  • You need to enroll in the Apple Developer Program. This requires an annual fee of $99 when writing this article to gain access to developer resources and tools. This fee allows you to distribute your app on the App Store and access various features and benefits.
  • Visit the Apple Developer Program page for more information.
  • Additionally, if you are part of a team, you can easily join as a team member by sharing your email address with your team. However, it is important to ensure they assign you the developer role to have the necessary permissions for app distribution. This will allow you to collaborate and contribute to the development and distribution of apps.
Deploying the Flutter app on the App Store

Flutter Development Environment and Xcode

Deploying the Flutter app on the App Store

1. Creating an App Identifier and Registering Your Device on the Apple Developer Console

The next step is to generate an iOS App Identifier and create the necessary certificates and provisioning profiles. These steps are crucial for the successful deployment of your app on the App Store. By following Apple’s instructions you can ensure that your app is securely signed and ready for distribution to iOS users.

Go to https://developer.apple.com/account and sign in with your email address associated with Apple’s developer account.

Creating an App Identifier

1. Click the Identifiers
Deploying the Flutter app on the App Store
2. Click the Identifiers + icon
Deploying the Flutter app on the App Store
3. Select App IDs and click the Continue button
Deploying the Flutter app on the App Store
4. Select the type of app and click the Continue button.
Deploying the Flutter app on the App Store

Here, we generated the Bundle ID based on our reverse domain and app name. For example, our domain is flutterframework.com, and our app name is test so the Bundle ID is com.flutterframework.test.

  1. Reverse Domain: In the context of iOS and macOS applications, a reverse domain is often used as a unique identifier for a developer or organization. It’s usually expressed in the form of a domain name written backward. For example, if a company owns the domain “example.com,” the reverse domain might be expressed as “com.example.”
  2. Bundle Identifier (Bundle ID): This is a unique identifier assigned to an iOS or macOS app. The operating system uses it to identify and set the app apart from others and specifies it in the app’s Info.plist file. Bundle IDs are typically in reverse domain format, like “com.example.MyApp.”

Reverse domain Bundle ID is a term used to emphasize the combination of these two concepts. It’s a way of structuring the Bundle ID to ensure its uniqueness by incorporating the reverse domain of the developer or organization.

For example, if the reverse domain is “com.flutterframework,” a typical Bundle ID might be “com.flutterframework.test.” This structure helps avoid naming conflicts between apps from different developers or organizations.

Deploying the Flutter app on the App Store
5. Select your app capabilities and click the Register button.
Deploying the Flutter app on the App Store

Congratulations! 🎊 we just created our first app id.

If your team already has an iPhone registered, you don’t have to do this. Just skip the next step and move on to section 2. Creating a New App on the App Store Connect.

Register a device:

If you have an iPhone or iPad, you can register the device on the developer console. This way, you can avoid the process of creating the certificate and provisioning profile and just take advantage of automatically managing the signing process.

Once we have our App Identifier and one device is registered, we can proceed to App Store Connect to complete the remaining steps of the process. It is worth mentioning that Xcode will take care of managing our app certificates and provisional profiles automatically, simplifying the development process.

Connect your iPhone to your Mac and find it in the Finder. Keep clicking on the subtitle (under the SMIN’s phone) until you see the UDID and EID. If you click the subtitle, it keeps rotating forever. Now copy the UDID.

Deploying the Flutter app on the App Store

Go to the Apple Developer Console and click the Devices + icon.

Deploying the Flutter app on the App Store

Write down your device information, device name, and device ID, which we already copied. Then click the Continue button on the top right.

Deploying the Flutter app on the App Store

On the next page, click the register button.

Deploying the Flutter app on the App Store

2. Creating a New App on the App Store Connect

Registering the app in the App Store Connect portal

Go to https://appstoreconnect.apple.com and log in with your email ID and password. Click My Apps.

Deploying the Flutter app on the App Store

Click the + icon to bring the new app pop-up. Write down all the required fields for the Bundle ID. We chose the Bundle ID we created in the previous step. Finally, click the Create button.

Deploying the Flutter app on the App Store

After creating the app, we can see four tabs: App Store, Services, TestFlight, and Xcode Cloud. We will talk about only the App Store in this article.

At this moment, we can open the Flutter project on Xcode and start the deployment, or you can start filling out the app metadata and other information under the App Store tab.

Deploying the Flutter app on the App Store

App Store Tab Details

General
  • 1.0 Prepare for Submission: Under the App Store tab, the first step is to prepare for submission. This involves providing all the necessary information and assets for your app, such as screenshots, an app description, keywords, and pricing details. Once you have completed this step, you can proceed to the next stage of the submission process.
  • App Information: Under the App Information section, you will need to provide details such as the app name, bundle identifier, and version number. Additionally, you will also need to specify the primary category for your app and any relevant subcategories. It is important to ensure that all the information provided is accurate and up-to-date before proceeding with the submission process.
  • Pricing and Availability: In the Pricing and Availability section, you will need to determine the pricing model for your app, whether it is free or paid. You can also specify any in-app purchases or subscriptions that are available within your app. Additionally, you will need to specify the territories where your app will be available for download. It is important to carefully consider your pricing strategy and availability options to maximize the reach and profitability of your app.
  • App Privacy: In the App Privacy section, you will need to provide detailed information about how your app collects, uses, and protects user data. This includes explaining the types of data your app collects, such as personal information or usage data, and how it is stored and secured. It is crucial to be transparent and comply with privacy regulations to build trust with your users and protect their privacy.
  • App Ratings and Reviews: App ratings and reviews play a significant role in attracting new users and retaining existing ones. Encourage your users to leave reviews and ratings by providing a seamless and user-friendly experience within your app. Additionally, regularly monitor and respond to reviews to show that you value your users’ feedback.
  • App Store Versions: App Store Versions: It is important to regularly update and release new versions of your app on the App Store. This not only ensures that your app stays up-to-date with the latest features and bug fixes, but it also shows your commitment to providing a high-quality user experience. Additionally, monitoring and analyzing user feedback and usage data can help you identify areas for improvement and prioritize updates for future versions of your app.
  • App Review: Responding to user reviews is a crucial part of maintaining a positive reputation on the app store. You need to acknowledge concerns or suggestions, demonstrate that you value your users’ opinions, and try to make their their experience better. Engaging with your users also fosters a sense of community and loyalty, as they feel heard and supported in their use of your app.
Features
  • In-App Purchases: Offering a variety of in-app purchases can not only generate additional revenue for your app but also enhance the user experience by providing them with valuable features or content. To ensure that your users think your in-app purchases are fair and worthwhile, it is crucial to carefully design and price them. Regularly reviewing and optimizing your in-app purchase offerings based on user feedback and usage data can help maximize their effectiveness and drive continued engagement with your app.
  • Auto-Renewable Subscriptions: Auto-renewable subscriptions are a great way to provide ongoing value to your users while also generating consistent revenue for your app. By offering subscription options with different durations and pricing tiers, you can cater to a wider range of users and increase the likelihood of conversion. Additionally, regularly communicating the benefits and value of your subscriptions through targeted marketing campaigns can help drive awareness and encourage users to subscribe.
  • App Store Promotions: App Store promotions can significantly boost the visibility and downloads of your app. By leveraging features like App of the Day or Editor’s Choice, you can reach a larger audience and increase your app’s discoverability. These promotions not only increase your app’s credibility but also create a sense of urgency among users to download and try out your app. Additionally, featuring positive reviews and ratings from satisfied users can further enhance the effectiveness of these promotions by building trust and credibility for your app.
  • Custom Product Pages: Custom product pages allow you to showcase your app’s unique features and benefits in a visually appealing and informative way. By creating a personalized experience for potential users, you can highlight the value your app brings and increase the likelihood of conversions. Furthermore, custom product pages provide an opportunity to include demo videos, screenshots, and detailed descriptions that can help users make informed decisions about downloading your app.
  • In-App Events: Having in-app events on your product page not only increases visibility but also allows potential users to engage with your app even before downloading it. By showcasing the unique features and functionalities through these events, you can attract more users and drive conversions.
  • Product Page Optimization: Product page optimization is crucial for attracting and retaining users. By optimizing your app’s description, screenshots, and videos, you can effectively communicate the value proposition of your app and highlight its key features. A well-optimized product page will not only increase downloads but also improve user satisfaction and retention rates.

3. Deploy via Xcode

Building and Testing the App

Now go to your Flutter project → ios folder and open Runner.xcworkspace file on your Xcode.

What is Runner.xcworkspace: Runner.xcworkspace is a workspace file in Xcode that allows you to manage and organize multiple projects and their associated files. It provides a centralized location for building, testing, and debugging your app. By opening the Runner.xcworkspace file, you can access all the necessary tools and resources to deploy your Flutter app on iOS devices.

Deploying the Flutter app on the App Store

Click the Runner project icon and Runner target, then under the Signing & Capabilities tab on the right, you can configure code signing and enable necessary capabilities for your app. Write down your Bundle identifier.

Deploying the Flutter app on the App Store

Now go to the General tab, and under the Identity section, you must fill in the information. App Category, Display Name, Bundle Identifier, Version, and the Build Number

Deploying the Flutter app on the App Store

Open Assets.xcassets and simply drag your images on AppIcon, and LaunchImage sections.

Deploying the Flutter app on the App Store

You can also use the LaunchScreen.storyboard file. Make sure you select the LaunchScreen.storyboard file on the general tab.

Deploying the Flutter app on the App Store

If your app runs successfully, you will see it appear on the selected simulator or device. You can now test its functionality and make any necessary adjustments before submitting it to the App Store.

Deploying the Flutter app on the App Store

For submitting the App Store we will change the simulator/device to Any iOS Device 

Deploying the Flutter app on the App Store

And click the archive menu 

Deploying the Flutter app on the App Store

When archiving is done we can validate our app first and then distribute it. 

Deploying the Flutter app on the App Store
Deploying the Flutter app on the App Store
Deploying the Flutter app on the App Store

4. App Review Process

The App Store guidelines and requirements ensure that your Flutter app meets industry standards and provides a seamless user experience. By adhering to these guidelines, you can enhance the overall functionality and usability of your app, making it more appealing to potential users. Make sure your Flutter app adheres to the App Store Review Guidelines.

Getting ready for the review

During the review process, Apple will evaluate your app’s content, functionality, and user interface to ensure it complies with their guidelines. It is crucial to thoroughly understand these guidelines and prepare your app accordingly. You will need to provide detailed information about your app, such as its purpose, features, and any third-party integrations. By carefully preparing for the review process, you can increase the chances of your Flutter app being approved and available on the App Store.

For example, let’s say you have developed a social media app using Flutter and you are ready to submit it to the App Store for review. Before submitting, you need to ensure that your app meets all the necessary requirements and guidelines set by Apple. This includes aspects such as having a user-friendly interface, proper handling of user data and privacy, and avoiding any content that violates Apple’s guidelines. Once your app adheres to these guidelines, it will have a higher chance of getting approved during the review.

Recommendations

Get in-depth details on the technical, content, and design criteria that we use for review, and learn about other key instructions.

App review information

If your app requires specific settings, user account information, or special instructions, include these details in the App Review Information section of App Store Connect. If you don’t include this information, the app review process may be delayed, and your app may not pass review.

For more details, view App Store Connect Help. It is important to provide all necessary information in the App Review Information section to ensure a smooth app review process.

For example, let’s say a developer has created a fitness app that requires users to connect their Apple Health account for tracking purposes. In order to pass the app review process smoothly, the developer should include detailed instructions in the App Review Information section of App Store Connect, such as specifying the necessary settings to be enabled on the user’s device and providing clear steps on how to connect their Apple Health account within the app. Failing to provide these instructions could lead to delays in review and potential rejection of the

Submitting for review

process. It is crucial for the developer to ensure a seamless user experience by making the connection process as simple and intuitive as possible. Additionally, they should thoroughly test the app to ensure that the integration with Apple Health works flawlessly and accurately tracks the user’s fitness data. By following these guidelines and providing comprehensive instructions, the developer can increase the chances of a successful app review and avoid unnecessary delays or rejections.

Avoiding common mistakes

We’ve highlighted some of the most common issues to help you better prepare before submitting for review. On average, over 40% of unresolved issues are related to guideline 2.1: App Completeness, which covers crashes, placeholder content, incomplete information, and more.

Watch “Tips for preventing common review issues”

Crashes and bugs

Submit items for review only when they’re complete and ready to be published. Make sure to thoroughly test devices running the latest software and fix all bugs before submitting. View guideline 2.1.

Broken links

All the links in your app must be functional. A link to user support with up-to-date contact information and a link to your privacy policy is required for all apps. View guideline 2.1 and guideline 5.1.

Placeholder content

Finalize all images and text before submitting for review. Items that are still in progress and contain placeholder content are not ready to be distributed and cannot be approved. View guideline 2.1.

Incomplete information

Enter all of the details needed for review in the App Review Information section of App Store Connect. If some features require signing in, provide a valid demo account username and password. Also, please make sure your contact information is complete and up-to-date. View guideline 2.1.

Specific documentation is required for certain scenarios and types of apps. Here are a few examples:

  • If the app is for kids and contains third-party ads, provide a link to the ad services’ publicly documented practices and policies for Kids category apps, including a human review of ad creatives for age appropriateness. View guideline 1.3.
  • If the app works with medical hardware, provide a copy of regulatory clearance for the locations where the app is available. View guideline 1.4.
  • If the app features third-party trademarks or copyrighted content or lets users stream or download third-party content, provide the authorization to do so. Examples include video streaming and marketing that uses imagery of celebrities, sports, movies, or music. View guideline 4.1 and guideline 5.2.
  • If the app facilitates services requiring licensing, such as real-money gaming and gambling, lotteries, raffles, and VPN licensing, provide the authorization to do so. Note that licensing requirements may vary depending on the region. View guideline 5.

Privacy policy issues

Make sure your privacy policy adheres to guideline 5.1 and:

  • Identifies the data the app collects, how it collects that data, and all uses of that data.
  • Confirms that any third party with whom the app shares user data provides the same or equal protection of user data as stated in the app’s privacy policy.
  • Explains your data retention and deletion policies and describe how a user can revoke consent and/or request deletion of their data.

Unclear data access requests

When requesting permission to access user or usage data, you should clearly and completely describe how your app will use the data. Including an example can help users understand why your app is requesting access to their personal information. View guideline 5.1.

If your app’s code references one or more APIs that access sensitive user data, the app’s Info.plist file should contain a $!{infoPlistKey} key with a user-facing purpose string explaining clearly and completely why your app needs the data. All apps submitted to the App Store that access user data are required to include a purpose string.

Learn about requesting permission

Inaccurate screenshots

Screenshots should accurately communicate value and functionality. Use text and overlay images to highlight the user experience, not obscure it. Make sure your UI and product images match the corresponding device type in App Store Connect. View guideline 2.3.

Substandard user interface

Apple places a high value on clean, refined, and user-friendly interfaces. Make sure your UI meets these requirements by planning your design carefully and following our design guides and UI Design Dos and Don’ts.

Web clippings, content aggregators, or a collection of links

Your app should be engaging and useful, and you should make the most of the features unique to iOS. Websites served in an iOS app, web content that is not formatted for iOS, and limited web interactions do not make a quality app. View guideline 4.2.

Repeated submission of similar apps

Submitting several apps that are essentially the same ties up the App Store review process and risks your apps not passing review. Improve your review experience and the experience of your future users by thoughtfully combining your apps into one. View guideline 4.3.

Misleading users

Your app must perform as advertised and should not give users the impression that it is something it is not. If your app appears to promise certain features and functionalities, it needs to deliver. View guideline 2.3.

Not enough lasting value

If your app doesn’t offer much functionality or content or only applies to a small niche market, it may not be approved. Before creating your app, take a look at the apps in your category on the App Store and consider how you can provide an even better user experience. View guideline 4.2.

Submitted by an incorrect entity

Certain types of apps must be submitted by the legal entity that provides the services rather than an individual developer. These apps include, but are not limited to, those that require sensitive user information or provide services in highly regulated fields, such as banking and financial services, cryptocurrency, healthcare, gambling, and air travel. If you need to provide partnership documentation or authorization, attach the files in the Attachment section in App Store Connect and provide any descriptions or links in the Review Notes field. View guideline 3 and guideline 5.1.1.

Contacting the Apple Review Team

You may view your prior and current App Review entries in App Store Connect. If your submission failed to be reviewed, details are supplied, including any App Store Review Guidelines you violated. Before resubmitting the build, contact App Review to rectify concerns. Visit the app’s App Store Connect page to see reviews.

Learn about corresponding with App Review

Appeals

If your app failed evaluation and you believe we misunderstood its concept and functionality or that Apple treated you unfairly, you may appeal to the App Evaluation Board. Do this when appealing:

  • Give clear reasons why your software meets the software store review guidelines.
  • Submit one appeal per rejected submission.
  • Respond to requests for more information before appealing.

Submit an appeal

Expedited reviews

If you need to fix a serious bug or release your app during an event you’re involved in, you can accelerate the review. We cannot expedite all requests for expedited evaluations.

Critical bug fix: When requesting a faster review for a critical bug fix, be sure to include instructions on how to reproduce the issue in the version of your app that is currently available on the App Store.

Event-related app: We propose scheduling event-related app releases in App Store Connect. If your app is still being reviewed and your event is nearing completion, you can request an expedited review. Make sure your request mentions the event, date, and your app’s involvement.

Request an expedited review

Bug fix submissions

If we uncover additional issues during the assessment of your App Store bug patch update, you can correct them in your next submission, unless they are legal or safety concerns. To accept, reply to the App Store Connect offer message and request approval of the current submission.

View App Store Connect

Conclusion

The App Store offers numerous benefits for your Flutter app, including increased visibility, higher download rates, and easy updates. By taking advantage of these opportunities, you can effectively reach and engage with a larger audience, ultimately driving the success of your app and brand. 

Feel free to contact me or tweet me on Twitter if you have any additional tips or feedback.

Spread the love

Leave a comment

Index