Build Your iOS App
October 27, 2021 PWA Builder documentationOnce you’ve built your iOS app using PWABuilder, you’re ready for your next steps:
- Build your project in Xcode
- Test your app: Run your project in Xcode to try out your PWA on an iPhone simulator or physical iOS device.
- Submit your app to the iOS App Store
What you’ll need:
- A Mac with Xcode installed (For details, see our FAQ.)
- An Apple Developer Account to publish your app to the App Store.
Each step is explained below.
1. Build your project in Xcode
Your zip file contains a src
folder containing the source code for your iOS app. You’ll need a Mac with Xcode installed to build this project.
Unzip the src
folder and open a terminal in src
and execute the following command:
pod install
💁♂️ Heads up:
If you get an error running
pod install
, you’ll need to first run this command:sudo gem install cocoapods
. Once completed, you can runpod install
.
Then, open the src/[your PWA name].xcworkspace
file.
This will open the project in Xcode. In Xcode, click Product
> Build
to build your project.
2. Test your app an iPhone simulator
With the project opened in Xcode, click ▶️ to run your PWA in an iPhone simulator. You may also choose other iOS simulators to try our your app on those devices.
If you need to debug your PWA while it’s running inside an iOS device, click ▶️, then launch Safari. In the top menu bar, choose Develop
-> Simulator [device name]
-> [Your PWA's URL]
. Safari Dev Tools will open, allowing you to execute arbitrary JS, set breakpoints, etc. See PWABuilder iOS FAQs for more info.
3. Upload your app to the iOS App Store
Once you’ve built and tested your app, it’s ready to be uploaded to the iOS App Store.
See Publish your PWA to the iOS App Store for a step-by-step guide to publishing your PWA iOS package to the iOS App Store.
Need more help?
Check out our PWABuilder iOS FAQs for answers to frequently asked questions about PWABuilder’s iOS platform.
If you’re stuck, we’re here to help. You can open an issue and we’ll help walk you through it.