Hello,

Welcome to Irufano Official Website

Image

irufano @IrufanoOfficial
This website is made to share articles and tutorials. May be useful !

Placeholder image

Live like a fruitful tree. If someone throws stones at a tree, the tree rewards them with fruit

Imam Al Ghazali

Submit App to The Appstore The Right Way (2021)

Uploading apps in the appstore is often confusing. Especially with the frequent changes in Apple‘s policies.

That‘s why we made this step-by-step guide to App Store submission. This guide contains all the steps required to properly submit an iOS app to the App Store.

Prerequisites

  1. Project that is ready for submission and passes Apple’s App Store Guidelines
  2. Valid Apple developer program account (not the Apple Developer Enterprise Program)
  3. Computer that runs Mac OS X
  4. The following programs installed:
    1. Xcode
    2. Keychain Access

 

Step Overview

Below you will find a list of guides, each describing how to do one of the steps required for submitting an app.

  1. Assemble App Store Information
  2. Create a Bundle Identifier
  3. Create a Certificate Signing Request
  4. Create an App Store Production Certificate
  5. Create a Production Provisioning Profile
  6. Create an App Store Listing
  7. Create a Release Build
  8. Fill in the Version Information
  9. Submit Version for Review
  10. Release

 

1. Assemble App Information

It is very important to collect all of the information you need to submit before you start the process.

Requirements

Notes

Screenshots

You need at least one for every supported device screen size.  The screenshots cannot contain transparency

Name

Name of the app as seen by users

Description

A description of your app, detailing features and functionality

Keywords

Separate keywords with a comma

Support URL

A URL with support information for your app

Marketing URL

A URL with marketing information about your app, optional

Privacy Policy URL

A URL containing your app’s privacy policy, optional

App Icon

This icon will be used on the App Store and must be in the JPG or PNG format, with a minimum resolution of at least 72 DPI, and in the RGB color space. It must not contain layers or rounded corners.

Categories

Secondary category is optional

Rating

Generate your rating based on the questionnaire  More Information Here

Copyright

Use the format: YYYY Company Name

Trade Representative Contact Information

Only appears on the Korean App Store, optional

Demo Account

“The username and password for a full-access account for your app. Include details for additional accounts in the Notes field.”

 

2. Create A Bundle Identifier 

The bundle identifier is the name of your app, as seen by both the App Store and iOS devices. 

  1. In your browser, navigate to Apple’s Developer Portal
  2. Log in
  3. Click Identifiers
  4. Click the “+” in the top right of the screen
  5. Name the App ID the same as your app
  6. Make sure the Bundle ID follows the standard naming convention: com.yourcompanyname.yourappname
  7. Check any App Services the app needs, click Continue
  8. Verify the services are correct, then click Submit

 

3. Create A Certificate Signing Request 

Certificate Signing Requests are used to link your computer to your Apple developer account.

  1. Open a program on your mac called KeyChain Access
  2. In the top left menu, click Certificate Assistant
  3. Click Request a Certificate From a Certificate Authority…
  4. User email: Enter your email address (email same as your developer account)
  5. Common Name: We recommend using the name of the app
  6. CA email is not actually required
  7. Check Saved to Disk, click Continue
  8. Save the Certificate Signing Request for later

 

4. Create An App Store Production Certificate

Code Signing Certificates are used to link iOS apps to your Apple developer account.

  1. In your browser, navigate to Apple’s Developer Portal
  2. Click Certificates
  3. Click the “+” in the top right of the screen
  4. Click the App Store Production, Currently named “Apple Distribution” under Production
  5. Click Continue
  6. Upload the Certificate Signing Request created earlier
  7. Download the Certificate
  8. Install the certificate on your computer by double-clicking
  9. Keep this file somewhere safe

 

5. Create A Production Provisioning Profile

Provisioning Profiles are packaged with iOS apps so user’s devices can install them.

  1. In your browser, navigate to Apple’s Developer Portal
  2. Log in
  3. Click Provisioning Profiles
  4. Click the “+” in the top right of the screen
  5. Click the App Store under Distribution option, click Continue
  6. Select the Bundle ID created earlier, click Continue
  7. Select the Certificate created earlier, click Continue
  8. Make sure the Profile Name follows the standard naming convention: App Name App Store Distribution
  9. Click Generate
  10. Download it
  11. Install the provision profile on your computer by double-clicking
  12. Keep this file somewhere safe

 

6. Create App Store Listing 

Reserve a slot in the App Store for your app for users to see.

  1. Start in your browser, navigate to Appstore Connect
  2. Log in
  3. Click My Apps
  4. Click the “+” in the top left of the screen
  5. Click “New iOS App”
  6. Bundle ID: choose the one created on Developer Portal
  7. For convenience, make the SKU match the Bundle ID created earlier
  8. Click Create to create the first version listing

 

7. Make The Release Build

Package the actual binary that users will be uploading to the store.

  1. Start Xcode
  2. Open the project or workspace
  3. Update the version and build numbers
  4. Open Build Settings
  5. Make sure All settings is selected
  6. Scroll to Code Signing
  7. Use the provisioning profile created earlier
  8. Use the code signing identity created earlier
  9. In the top menu, select Generic iOS Device as the build destination if no actual device is connected
  10. Menu, Project, Archive
  11. Click Distribute
  12. Sign in as your apple developer account
  13. Submit to app store
  14. Wait for the confirmation

 

8. Fill In Version Information

Users will decide whether or not to install your app based on your store listing.

  1. Enter all of the information assembled in step 1
  2. Select the build you wish to tie to the version (Note: This usually appears 10-15 minutes after sending from Xcode)
  3. Fill in pricing information
  4. Click Save
  5. Fit any errors based on the messages that appear and save changes

 

9. Submit Version For Review 

Every app that is submitted to the store has to be reviewed by the Apple team before release.

  1. Select the release type
  2. Manual release – after the app is accepted, a Release button will appear
  3. Automatic release – as soon as the app is accepted, it will be released
  4. Wait for approval
  5. This process usually takes 2-3 weeks for a new submission
  6. If your app was not approved, review the notes in the Resolution Center and make any necessary changes to the app or version information then resubmit

 

10. Release 

Enjoy the final, most satisfying step.

  1. If you selected Manual release, click Release your app when ready
  2. Wait for the green “Ready for Sale” version status (This might take from 1 hour to 1 day after release)
  3. Search for your app on the App Store
  4. Celebrate!

 

When submitting a new version of your app, you will only have to repeat steps 7 through 10.

Build Beautiful Apps with Flutter

Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. Flutter is Google's mobile UI framework for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. 

Advantages of Flutter :

Fast Development

Paint your app to life in milliseconds with Stateful Hot Reload. Use a rich set of fully-customizable widgets to build native interfaces in minutes.

Flutter's hot reload helps you quickly and easily experiment, build UIs, add features, and fix bugs faster. Experience sub-second reload times without losing state on emulators, simulators, and hardware.

Expressive and Flexible UI

Quickly ship features with a focus on native end-user experiences. Layered architecture allows for full customization, which results in incredibly fast rendering and expressive and flexible designs.

Delight your users with Flutter's built-in beautiful Material Design and Cupertino (iOS-flavor) widgets, rich motion APIs, smooth natural scrolling, and platform awareness.

Native Performance

Flutter’s widgets incorporate all critical platform differences such as scrolling, navigation, icons and fonts, to provide full native performance on both iOS and Android, and your Flutter code is compiled to native ARM machine code using Dart's native compilers.

Make Your Life Easy with Git

In building a system there are lots of changes in the lines of code that we make. From development to release. There is a tool used to manage these changes in programming, namely Git.

Git is a version control system that developers use to co-develop software. The main function of git is to set the version of your source code by stating which line and code to add or replace.

Git makes it easier for developers to find out about changes to the source code instead of having to create new files such as Program.js, Program1.js, Program2.js, ProgramRelease.js. In addition, with git, we don't have to worry about the code we are working on clashing, because every developer can create a branch as their workspace. An equally cool feature, on git we can comment on the added / modified source code, this makes it easier for other developers to know what problems other developers are experiencing.

To find out how to use git, here are the basic git commands:

  • Git init: to create a repository of local files which will have a .git folder
  • Git status: to find out the status of the local repository
  • Git add: adds a new file to the selected repository
  • Git commit: to save changes made, but no changes made to the remote repository.
  • Git push: for submitting committed changes to the remote repository.
  • Git branch: view all branches in the repository
  • Git checkout: swap the active branch with the selected branch
  • GIt merge: to merge the active and selected branches
  • Git clone: makes a local repository copy

You can use git online by using github, bitbucket, gitlab, azure devops and so on. As a developer, proficiency in git is a must-have, because there are many benefits that can be taken from git as a version control.

Get Out of Your Comfort Zone

Have you ever felt bored in doing a job continuously, feel comfortable with a job that we do and it doesn't make you grew up ? If so, then get out of your comfort zone and move on to something that makes you grow and be more challenged.

Getting started is hard, but it's best to start little by little. Like when we learned to walk when we were babies, at first we had difficulty walking, but because of continuous training, we can finally walk until now.

As a developer, if you are an expert on the frontend and you feel that your skills at the frontend are good, you must have the desire to learn more like exploring the backend and others. Vice versa, the more you learn, the more you know. But still prioritize where you will focus on developing your career as a special skill you have.