Upload App to iOS AppStore

Dokan Multi Vendor Documentation

This section assumes you already have an Apple Developer Account. Follow these steps respectively to upload your newly built iOS app to AppStore. Also, note that you must be on a Mac computer to complete these steps.

Create App ID

Log in to your Apple Developer Account. Click “Certificates, IDs & Profiles”.

This is a screenshot that shows Apple developer dashboard

Click “Identifiers” from the left sidebar. Your list will be empty if this is your first time creating an App ID. Here you see the App ID for Dokan App. Click the blue “+” button. 

This is a screenshot that shows the settings panel of the Apple developer dashboard

Select “App IDs” and click “Continue”. 

This image shows how to register a new identifier

Fill in the “Description” field with your app name and the Bundle ID filed with your app bundle id. Make sure the “iOS, tvOS, watchOS” radio button is selected and “Bundle ID” is set to “Explicit”. Then click “Continue” and the “Register”. 

This image shows where to insert credentials for registering an Apple ID

Configuration for OneSignal Push Notification

We are going to create an extension identifier and a group identifier. Your iOS app is equipped with OneSignalNotificationServiceExtension. This extension needs an app identifier and a group identifier. Don’t get overwhelmed by these terms. They are purely related to iOS app development.

But if you are really curious you can read about what Extension and App Groups do from Apple’s documentation. Also from OneSignal’s documentation (scroll down to “Add Notification Service Extension” section), you can learn why OneSignal needs this extension and app group. Otherwise, simply follow the next steps.

Create App Group

Go to the identifiers page on your Apple Developer Dashboard. Click the “App IDs” drop-down from the right side and then click “App Groups”. 

This image is for showing OneSignal for iOS

The app groups list will load. The image below shows one entry. Most probably yours will be empty if you never published an iOS app with app groups before. Click the blue “+” icon. 

This image shows how to add a new identifier in OneSignal for iOS

On the next page select the “App Groups” radio button and then click the “Continue” button in the top right, as denoted in the following image. 

This image shows where to click to register a new identifier on the OneSignal for iOS

On the following page fill in the “Description” and “Identifier” field. The image below shows that the Demo Onesignal Extension Group is used as a description. This is for demonstration purposes.

You can simply write the Onesignal Extension Group as your description. Also, notice that group.demo.app.onesignal is used to fill in the Identifier field. Change the demo.app part with the bundle id of your own app. 

OneSignal for iOS

Now click the “Continue” button and on the next page click the “Register” button. You will be then taken to the list of your group identifiers and you will see that your new group identifier has been created. In the image below we have two entries because of the existing one. Click the “App Groups” drop-down, click “App IDs” and follow the next step. 

OneSignal for iOS

Create OneSignal Notification Service Extension ID

On this page click the blue “+” icon again. This time we will create an App ID for our extension. Like the image select “App IDs” and click the “Continue” button. 

OneSignal for iOS

Here, fill in the “Description”, “Bundle ID” fields and Correctly select the radio buttons as shown in the image below. After that click “Continue” and then “Register” button on the next page. 

OneSignal for iOS

Your new App ID will be created. You will see a list below. Now click the newly created ID. 

OneSignal for iOS

On this page notice the “Capabilities”. Select “App Groups” and click “Configure”. 

This image shows how to configure App ID on OneSignal

A modal will open like the image below. Select the app group that you have created before and click “Continue”. 

OneSignal for iOS

Now click the “Save” button. If a pop-up opens like below click “Confirm”. 

OneSignal for iOS

Configure Push Notification for main App

OneSignal for iOS

Click your existing app identifier that you have created in the first step, from the identifiers list and similarly set the “App Groups” like you have done just. After that scroll down the “Capabilities” and find “Push Notifications”. Like the image below, enable it, if it is not already enabled. 

OneSignal for iOS

Create Distribution Certificate

Log in to your Apple Developer Account. Click “Certificates, IDs & Profiles”. 

This image shows Apple developer dashboard

On the certificates list click the blue “+” icon. 

This image shows certificate list on Apple Developer dashboard

Select iOS Distribution (App Store and Ad Hoc) and click continue. 

Apple developer dashboard

At this point, you need to create a certificate signing request(CSR). To create one follow this documentation from Apple. After that click “Choose File” and select the CSR you just created and then click Continue. 

Apple developer dashboard

Download the certificate by clicking the “Download” button. We’ll need it later. 

Apple developer dashboard

Create Provisioning Profile

You need to create two provisioning profiles. One for the main app and another for the extension app. On the “Certificates, Identifiers & Profiles” page click the “Profiles” tab from the left sidebar.

For App

Click the blue “+” icon. On the next page select the “App Store” under the “Distribution” section and click “Continue”. 

This image shows how to create a provisioning profile on Apple developer dashboard

From the “App ID” drop-down select your main app id. Click “Continue”. 

Apple developer dashboard

Here you will see the distribution certificate that you have created. Select it and click “Continue”. 

Apple developer dashboard

Give a proper name to your provisioning profile and click “Generate”. Your provisioning profile will be created. Download the provisioning profile. 

Apple developer dashboard

For Extension

To create a provisioning profile for the extension app, follow Steps 1 to 4 of the previous section except in Step 2 select the Extension App ID instead of the Main App ID. And also download the provisioning profile.

Code signing of your App

All the steps you have followed so far are for the purpose of performing a Code Signing of your app. It is purely related to the iOS development process. We can do this on your behalf. You just need to share the signing certificate and the two provisioning profiles that you have created. Follow these steps.

Share your certificate

In your Mac go to the certificate that you have downloaded from the Create Distribution Certificate step. Double-tap the “.cer” file. It will open up Keychain Access.

Click “My Certificates” from the bottom left sidebar. You will see a “iPhone Distribution” certificate listed here. Expand the certificate. 

This image shows Keychain Access

‘Command + click’ to select both your certificate name and the content inside it. Now perform a right click of two-finger tap on the selected files and click “Export 2 items” option. 

This image shows Keychain Access

Put a proper name and select the destination to save the exported file in the pop-up box. Keep the file format option unchanged and press ‘Save’. 

This is a screenshot that shows Keychain Access

Now put a secure password to encrypt the file. Take note of this password. Click “Ok”. Another pop-up may open asking for the password that you use to login to your Mac. Write down the password and press “Always Allow”. 

Keychain Access

After success, you will see that a file with the “.p12” extension has been generated. Share this “.p12” file with the password that you used to encrypt the file in Step 4, along with the two provisioning profiles that you downloaded earlier with us.

We’ll perform the code signing of your app and deliver a “.ipa” file to you. This will be your iOS app. You need to upload this file to AppStore. The next section describes the upload process.

Upload to App Store

Getting Started with App Store Connect

This image shows the dashboard of the AppStore Connect

App Store Connect is used to submit and manage your app. After you’ve created an Apple Developer account, you can use the same credentials to log in to App Store Connect. Once you’ve logged in to App Store Connect, you should see a screen that looks similar to the one below. 

If you find any difficulties with App Store Connect, please refer to Apple’s App Store Connect Guide.

Filling in an App Store Connect App Listing

Click the “My Apps” button on your app store connect page.

Since this is the first time you will be uploading and publishing your app, a new app listing needs to be created. Click on the ‘+’ sign in the top-left of the window and choose to create a ‘New App’. 

This image shows how to create a new app listing

After that, a new window will pop up and ask you for several details about your new app listing. Select the iOS checkbox.

  • Enter a unique name into the “Name” field. If you enter a name that has already been used in the App Store or registered by another developer, the name field will turn red and give an error.
  • Choose a primary language for your app listing.
  • Choose the Bundle ID you created earlier for this app, you can click on the drop-down menu and find your Bundle ID in the list.
  • Finally, enter an SKU – this is meant as a “code identifier”, however, it is not really important for publishing. Simply entering the App Name in all capitals, followed by a number is sufficient.
  • Set the User Access to Full Access. 
This screenshot for showing new app listing configuration

Then click on ‘Create’.

Your app listing should be created now and you will be taken to the App Information section. You will see your app name and Bundle ID, your app’s newly created and assigned Apple ID number and a few fields on the right that need filling in.

The privacy policy URL should be your website’s privacy policy.

The primary Category of your app falls under the “Shopping” category and the secondary category may be “Lifestyle”. It is optional. 

This image is showing My App information

After making these changes, click on ‘Save’ in the top-right of the window to save your work before going to the next section.

Next, click on ‘Pricing and Availability’ in the left menu.

Here you will select the ‘zero’ price for your app and the countries in your app will be available in. By default, your app will be available in all countries. This is normal and fine. If you choose to limit the availability of your app to your country, this is at your own risk for the adoption of your app.

Note: it is strongly advised to leave Bangladesh and Singapore checked in the availability list so that weDevs can provide support swiftly if needed. These are the countries we operate out of.

You can safely ignore the “Pre-Orders” and “Volume Purchase Program” sections, seeing as your app is being offered for free. 

This image shows how to set pricing

Click on ‘Save’ in the top-right to save your work.

Then navigate to the “Prepare for Submission” section in the menu, here you will upload images, the icon, and fill in the app description.

First, you can upload the splash screen images and screenshots of your app into the screenshot area. You can drag and drop the images into the field. As you can see above the field, there are tabs for iPhone and iPad.

Each device requires at least two images and of certain dimensions. Drag the two images into the field, then click on the next device tab to do the same for that device. When you are finished, click on ‘Save’ to save your work before continuing to the next section.

Note: screenshots are provided by weDevs with your IPA file. 

This image shows where to insert app version information

Next, you can fill in the “Description” field. The text you enter here will be visible as the app’s description in the App Store. Beware; there are some limitations to this field. 

This image shows where to write app description

Next, to the description field, you can see the Keywords, Support URL, and Marketing URL. In the “Keywords” field, you can enter the app name and ecommerce as default terms.

The Support URL is the link to where users can find support for the app, which is your website’s contact url. The Marketing URL is the marketing description of the app. You can ignore it as it is optional.

Scroll down to the next section of this documentation page where it says “Uploading the App”, then come back to this section to complete the rest of the steps.

The next section is the “Build” section where you can select the app build to attach to this app listing. This is the codesigned IPA that is delivered to you after you shared your signing certificate and provisioning profiles with us.

Click on the ‘+’ sign next to the heading, under “Build”, and select your build in the window that pops up. Note: it can take up to 15 minutes for the “+” sign to appear after uploading your app build.

Click on ‘Save’ in the top-right to save your work.

Next, you can drag and drop your app icon image into the App Icon field. You created this icon in Prepare App Icon and Splash Screen Image section.

Next to the app icon section, you can see the Copyright section. The copyright belongs to you. Leave the Routing App Coverage File section for now. It is optional and we assume that your app will support all the regions of the world. If not, please contact us. We will provide you with the necessary direction.

Afterward, the app needs a Rating. You can see the rating section underneath the App Icon section. By default, when you first create the app listing, the app has no rating. You have to answer several questions in order to determine the rating of your app. Click on ‘Edit’ to open up a window with the questions.

Note: These are the default answers given about apps published by weDevs. If your app will contain any information about alcohol, tobacco, drug use, gambling, or medical topics, please adjust the rating. 

Filling App Listing

Next, you can fill in the App Review Information. Here you can enter the contact information of the person responsible for the Apple Developer account within your organization. Typically, it is the person that has been given the Account Holder role in your organization.

All fields are required to be filled. Below that, there is a Demo Account field. This is the user account that Apple Reviewers will use to log into the app and check its functionality and viability for the App Store. We recommend creating a demo customer account for your marketplace and submit the login info here. 

Filling App Listing

Next, you can enter something into the Notes field. Best practice is to enter a secondary contact in case the App Reviewer needs more information to approve the app. Include information like a telephone number and email address. This field is not visible in the app listing in the App Store.

Finally, you can determine when the app will be released into the App Store. Typically, it is best to leave it on the default setting “Automatically release this version” so that your app is available as soon as possible.

If for some reason you would like to have your app only available from a certain date, you can choose this. However, please discuss the implications of this with your weDevs representative.

Filling App Listing

 Note: it takes at least one day for the app to be visible in all countries after being released into the App Store.

Click on ‘Save’ to finalize your work and continue to app submission.

After you have saved your work, the button to “Submit for Review” should be colored in and ready to be clicked. Click on it. You will be taken to another page with three final questions about your app. The following are the default answers for your app:

Export Compliance – No

Content Rights – No

Advertising Identifier (IDFA) – No

Click on ‘Submit’. You will be taken back to your app listing now and the status should have changed to “Waiting for Review”.

You’re finished! Congratulations!!.

Note: it can take about 2-10 days for your app to be reviewed, please plan accordingly with your weDevs representative.

Uploading the App

You can upload your app to App Store Connect by using the Application Loader app on your Mac. Follow the steps below to upload your app successfully to your App Store Connect account.

  1. Find the Application Loader app on your Mac. You can open the Spotlight search and type in “application loader”. It will be the top hit.
  2. Open the app and log into the app with the credentials you use to log into App Store Connect. Apple may ask you to create an app-specific password during this step. Follow this to find the directions on how to create an app-specific password.
This image shows Application Loader
  1. Then, double-click on the button above “Deliver Your App”. This will open the Finder app on your Mac. Find and select the .ipa file you re-codesigned, in the Codesign_Output folder on your Desktop.
This image shows option for Deliver Your App
  1. Then you will see an overview of the app’s details. Click on ‘Next’ to proceed with uploading.
  2. The upload process will take a few minutes. You will be notified when it is done. You may get a warning about an index file being too big – it is safe to ignore this message.
  3. Click on ‘Next’, then on ‘Done’ in the next window. Then you can close the Application Loader.