# iOS Apps

About iOS Apps:

* **App Filetype:** .ipa
* **Compatibility:** iOS 15 or later
* **Distribution Methods:** App Store, Direct Install to Registered iOS Devices
* **Export Requirements:** Mac computer, Apple Developer account, and an App Store Connect account (for App Store distribution). An iOS device and USB cable are also required for testing without going through an App Store release.

Exporting your iOS app from Designware is easy, but a lot of steps are required on Apple’s side to enable the export. None of them require technical knowledge. &#x20;

Here’s what the process looks like at a high level:

* Register your iOS testing devices
* Get a certificate from Apple
* Create a "Keystore" (.p12) file on a Mac
* Get a "Mobile Provision" (.mobileprovision) file from Apple
* Export your app from Designware
* Upload your app to App Store Connect
* Fill in your app profile in App Store Connect
* Release to the App Store

For more detailed instructions on the above process, see our article on [Getting Keystore & Mobile Provision Files.](https://designware.gitbook.io/help/projects/publishing/ios-apps/getting-keystore-and-mobile-provision-files)

&#x20;

## **Creating an iOS App**

1. Make sure the project has an App subscription plan.
2. In the navbar, press the **Publish button** to open the Publish Menu.
3. Go to the **iOS tab** and press ➕.
4. Set the Name and Icon.
5. Upload the Keystore and Mobile Provision file generated from this [walkthrough](https://designware.gitbook.io/help/projects/publishing/ios-apps/getting-keystore-and-mobile-provision-files). Insert the Keystore's Password if one exists, or leave the field blank.
6. Press **Build** to begin compiling the app, which can take up to 20 minutes.

Once fully compiled you can download it from the Publish Menu by hovering over the app version and selecting ••• **› Download.**

{% hint style="info" %}
If an iOS app stops exporting due to an error, it could be because:\\

* The Keystore and Mobile Provision files were made on different Macs or by different Apple Developer users.
* The Keystore password is wrong.
* The Mobile Provision file was created for "App Store" distribution ([see walkthrough](https://designware.gitbook.io/help/projects/publishing/getting-keystore-and-mobile-provision-files#e-get-the-mobile-provision-.mobileprovision-file-from-apple)), but has already been used by another Designware project.

Begin a new export to try again.
{% endhint %}

## **Deploying an iOS App**

Once the app (.ipa) file is downloaded from Designware, it is ready for use on iOS devices. Due to the closed nature of the iOS ecosystem, you can only distribute an app file in *one* of the following ways, depending on how it was exported:

**Run on Your iOS Devices**—Apps exported with an ["Ad Hoc" Mobile Provision file](https://designware.gitbook.io/help/projects/publishing/getting-keystore-and-mobile-provision-files#e-get-the-mobile-provision-.mobileprovision-file-from-apple) can run on iOS devices that have been [registered to your Apple Developer account](https://designware.gitbook.io/help/projects/publishing/getting-keystore-and-mobile-provision-files#d-registering-your-ios-test-devices). To get the app on those devices, upload the app file from your computer to [Diawi](https://diawi.com/), an iOS app sharing service. Use Diawi’s QR code to download the app to the devices, where it auto-installs to a home screen page.

**App Store**—For apps exported with an[ "App Store" Mobile Provision file](https://designware.gitbook.io/help/projects/publishing/getting-keystore-and-mobile-provision-files#e-get-the-mobile-provision-.mobileprovision-file-from-apple).

1. Login to your[ App Store Connect](https://appstoreconnect.apple.com/) account (using your Apple Developer credentials) and generate a new app profile.
2. Upload the app to the profile using the Mac application [Transporter](https://apps.apple.com/us/app/transporter/id1450874784?mt=12). This can take several minutes.
3. Back to the app profile in App Store Connect, select **Add for Review**. Apple's manual review and approval of your app may take a couple days.

Once approved, you can release the app to the App Store!

Subsequent app versions can be added to the same App Store Connect profile, provided:

* They are exported from the same Designware project.
* They are exported using the same **Keystore** (.p12) file.
* They are exported with the same or a new "App Store" **Mobile Provision** (.mobileprovision) file. "Ad Hoc" Mobile Provision files will not work.

## **Updating a Live iOS App**

To update a website, web app, and all native app formats together, in the navbar press the **Publish dropdown button › Push Content Update**.

To update just iOS apps:

1. Press the **Publish button** in the navbar.
2. Go to the Publish Menu's **iOS tab**.
3. Press **Push Content Update**.

{% hint style="info" %}
Content updates can take several minutes to appear live.
{% endhint %}
