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:
-
Unzip the file we sent you.
-
Open a terminal in the
src
directory. -
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)
- 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.
-
Click
Product
>Build
in Xcode to build your project. -
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:
-
Sign into your Apple Developer account
-
Create a Bundle ID
-
Create a certificate signing request (CSR)
-
Create a new certificate
-
Create a provisioning profile
-
Create an app reservation
-
Upload your app package
-
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.
-
Navigate to your Apple Developer account page and select
Certificates, Identifiers & Profiles
-
Select
Identifiers
and click the+
symbol to add a new identifier.
-
Select
App IDs
and then chooseApp
as the type. -
Add any
Description
that you see fit. -
Add your Bundle ID. Important: This must match the bundle ID of your app.
-
In the capabilites section, enable
Associated Domains
andPush Notifications
. -
Click
Continue
and thenRegister
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:
-
Launch the
Keychain Access
app. -
From the top menu bar, choose:
Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority
-
Enter your email address and your name. You may leave
CA Email Address
empty. -
Choose the
Saved to disk
option and selectContinue
. -
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:
-
Navigate back to the
Certificates, Identifiers, & Profiles
section on your Apple Developer account page from Step 2. -
Select
Certificates
and select the+
symbol to add a new certificate. -
Select
Apple Distribution
and clickContinue
. -
You will be prompted to upload a Certificate Signing Request. Choose the file you created in the previous step, and click
Continue
. -
On the final screen, Choose
Download
to save your.cer
file to your disk. -
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:
-
Navigate back to the
Certificates, Identifiers, & Profiles
section on your Apple Developer account page from Step 2 and 4. -
Select
Profiles
and select the+
symbol to add a new profile. -
On the next page, select
App Store
underDistribution
and clickContinue
. -
You will be prompted to select an app ID, choose the Bundle ID you created in Step 2 and click
Continue
. -
Next, you will be prompted to choose a certificate. Select the certificate you created in the last step and click
Continue
. -
You’ll asked for a Provisioning Profile Name. Use your Bundle ID and then click
Generate
. -
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.
-
Go back to your Apple Developer account page and choose
App Store Connect
. -
Select
My Apps
. -
Select the
+
symbol and then clickNew App
: -
You will be prompted for details about your app:
-
Choose
iOS
for the platform -
Use any name you would like.
-
Select a language.
-
Select the Bundle ID we created in the previous step.
-
SKU can be any string you would like.
-
Select
Full Access
under User Access.
-
-
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:
-
Click
Xcode
in the top menu bar. -
Click
Preferences
. -
Navigate to the
Accounts
panel. -
If you don’t see your Apple Developer account already, click the
+
symbol in the bottom left. -
Sign in to your account.
Next, you’ll need to assign your project to your account:
-
Select the
Project Navigator
tab. -
Select your application.
-
Select
Build Settings
.
-
Scroll down to the
Signing
section. -
Under
Code Signing Identity
, setRelease
toApple Distribution
. -
Under
Code Signing Style
, setRelease
toManual
. -
Under
Development Team
, setRelease
to your Apple Developer account team. -
On the same project page, select
Signing & Capabilities
and thenRelease
.
-
Under
Provisioning Profile
, selectDownload Profile
. -
Choose the profile you created in the previous steps.
Lastly, you just need to create an archive and upload it:
- At the top of Xcode, select your iPhone simulator name and select
Any iOS Device (arm64)
.
-
Next, select
Product > Archive
from the Mac OS top menu bar. -
When the archive process finishes, select
Distribute App > App Store Connect > Upload
. -
Follow the prompts to upload your application!
8. Submit for Review
The last thing you need to do is submit your app for review:
-
Go to your apps list at the App Store Connect.
-
Scroll to the
Build
section. -
Click
Select a build before you submit your app
. -
Choose the archive you just created.
-
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.