Get Support

Prerequisites

There are some boxes you’ll need to check before your PWA is ready to be published to the App Store.

  • A Mac OSX device with Xcode installed

  • An Apple Developer account (which are available for a yearly subscription of $99)

Building Your App

Before you can start the submission process, you’ll need to build the Swift project that will load your PWA:

  1. Unzip the file we sent you.

  2. Open a terminal in the src directory.

  3. Run this command: pod install

Note If you get an error running pod install, try running brew install cocoapods first. (If you need to install Homebrew, click here)

  1. Open the .xcworkspace file in your src directory.

If you open and attempt to build the .xcodeproj file, your build will fail. The .xcworkspace file is the correct file you need to build.

  1. Click Product > Build in Xcode to build your project.

  2. With the project opened in Xcode, click ▶️ to test your PWA in an iPhone simulator. You may also choose other iOS simulators to try our your app on those devices.

Publishing

The next portion of getting your PWA in the App Store is the most complicated, and may take some time to work through.

We’ll go through each step in more detail, but the overall process is as follows:

  1. Sign into your Apple Developer account

  2. Create a Bundle ID

  3. Create a certificate signing request (CSR)

  4. Create a new certificate

  5. Create a provisioning profile

  6. Create an app reservation

  7. Upload your app package

  8. Submit your app for review

1. Sign In To Your Apple Developer Account

To submit your app the iOS App Store, sign-in to your Apple Developer Account.

If you don’t have an Apple Developer account, enroll here. Enrollment costs $99 USD/year, though non-profits can have this fee waived.

2. Create a Bundle ID

Next, you will need to create a Bundle ID on your Apple Developer Account that matches the Bundle ID associated with your package.

  1. Navigate to your Apple Developer account page and select Certificates, Identifiers & Profiles

  2. Select Identifiers and click the + symbol to add a new identifier.

  1. Select App IDs and then choose App as the type.

  2. Add any Description that you see fit.

  3. Add your Bundle ID. Important: This must match the bundle ID of your app.

  4. In the capabilites section, enable Associated Domains and Push Notifications.

  5. Click Continue and then Register to finish adding the identifier.

Note You can find your app Bundle ID the project.pbxproj file.

3. Create a Certificate Signing Request (CSR)

Next, you will need to use the Keychain Acess application to create a Certificate Signing Request:

  1. Launch the Keychain Access app.

  2. From the top menu bar, choose: Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority

  3. Enter your email address and your name. You may leave CA Email Address empty.

  4. Choose the Saved to disk option and select Continue.

  5. You’ll be prompted to save a .certSigningRequest file to disk.

4. Create a Certificate

Now, you will use the CSR we created in the last step to create a certificate:

  1. Navigate back to the Certificates, Identifiers, & Profiles section on your Apple Developer account page from Step 2.

  2. Select Certificates and select the + symbol to add a new certificate.

  3. Select Apple Distribution and click Continue.

  4. You will be prompted to upload a Certificate Signing Request. Choose the file you created in the previous step, and click Continue.

  5. On the final screen, Choose Download to save your .cer file to your disk.

  6. To install this certificate, open the Keychain Access app and drag your .cer file onto the list of certificates.

5. Create a Provisioning Profile

Next, you can use the certificate you created to create a Provisioning Profile:

  1. Navigate back to the Certificates, Identifiers, & Profiles section on your Apple Developer account page from Step 2 and 4.

  2. Select Profiles and select the + symbol to add a new profile.

  3. On the next page, select App Store under Distribution and click Continue.

  4. You will be prompted to select an app ID, choose the Bundle ID you created in Step 2 and click Continue.

  5. Next, you will be prompted to choose a certificate. Select the certificate you created in the last step and click Continue.

  6. You’ll asked for a Provisioning Profile Name. Use your Bundle ID and then click Generate.

  7. Finally, select Download to download your .mobileprovision file.

6. Create Your App Reservation

Once you have a provisioning profile, you can create an app reservation on your developer account.

  1. Go back to your Apple Developer account page and choose App Store Connect.

  2. Select My Apps.

  3. Select the + symbol and then click New App:

  4. You will be prompted for details about your app:

    1. Choose iOS for the platform

    2. Use any name you would like.

    3. Select a language.

    4. Select the Bundle ID we created in the previous step.

    5. SKU can be any string you would like.

    6. Select Full Access under User Access.

  5. Finally, click Create to complete your app reservation.

7. Upload Your App Package

After you create your app reservation, you’ll be redirected to the app details page. There, you can add metadata about your app, including screenshots, description, and more.

After you’ve filled out any data you want to include with your app, it’s time to upload your PWA app package.

First, you’ll need to sign in to Xcode:

  1. Click Xcode in the top menu bar.

  2. Click Preferences.

  3. Navigate to the Accounts panel.

  4. If you don’t see your Apple Developer account already, click the + symbol in the bottom left.

  5. Sign in to your account.

Next, you’ll need to assign your project to your account:

  1. Select the Project Navigator tab.

  2. Select your application.

  3. Select Build Settings.

  1. Scroll down to the Signing section.

  2. Under Code Signing Identity, set Release to Apple Distribution.

  3. Under Code Signing Style, set Release to Manual.

  4. Under Development Team, set Release to your Apple Developer account team.

  5. On the same project page, select Signing & Capabilities and then Release.

  1. Under Provisioning Profile, select Download Profile.

  2. Choose the profile you created in the previous steps.

Lastly, you just need to create an archive and upload it:

  1. At the top of Xcode, select your iPhone simulator name and select Any iOS Device (arm64).
  1. Next, select Product > Archive from the Mac OS top menu bar.

  2. When the archive process finishes, select Distribute App > App Store Connect > Upload.

  3. Follow the prompts to upload your application!

8. Submit for Review

The last thing you need to do is submit your app for review:

  1. Go to your apps list at the App Store Connect.

  2. Scroll to the Build section.

  3. Click Select a build before you submit your app.

  4. Choose the archive you just created.

  5. Once you’ve set and reviewed the metadata for your app, hit Submit for Review to complete your submission.

Your PWA still has to be approved, but if it is, it will appear in the App Store typically within 24-48 hours.