Skip to main content

Build iOS apps

Configure the Apple identifiers, capabilities, app groups, Merchant ID, and App Store Connect key that apply to the app you are building. Then add the resulting values to Dashboard and create an iOS test or distribution build.

Use an Apple Developer account that can manage the required identifiers and signing resources. Keep .p8 keys, API identifiers, and account credentials in an approved secure location; do not place them in tickets, chat, or documentation.

Customer App​

Create the main identifier​

  1. Open Apple Developer account and go to Identifiers.
  2. Select Add (+), choose App IDs, select App, and continue.
  3. Enter the app name in Description and the Customer App bundle identifier in Bundle ID. Use the identifier configured for the app; for example, com.yourprojectname.customer.
  4. Select the required capabilities, continue, and register the identifier.

Add an Apple App ID

Choose App IDs in Apple Developer

Enter the Customer App bundle identifier

For the Customer App, select these capabilities when they apply to the project:

  • Access Wi-Fi Information
  • App Groups
  • Apple Pay Payment Processing
  • Associated Domains
  • Maps
  • Push Notifications
  • Sign in with Apple

Customer App capabilities

Customer App capability selection

Register the Customer App identifier

Create the notification extension identifier​

If the Customer App uses OneSignal notifications, create a second App ID using the same process. Append .OneSignalNotificationServiceExtension to the main identifier. For example:

com.yourprojectname.customer.OneSignalNotificationServiceExtension

Select the same applicable capabilities as the main Customer App identifier, then register the extension.

Add the notification extension App ID

Choose an App ID for the notification extension

Enter the notification extension identifier

Notification extension capabilities

Notification extension capability selection

Register the notification extension

Create the Customer App group​

Create one App Group for each app. Open App Groups, select Add (+), enter a group name, and register the group.

Use the Customer App identifier with the group. prefix and .onesignal suffix. For example:

group.com.yourappname.customer.onesignal

Open App Groups

Create an App Group

Customer App Group example

Use a different group identifier for every app. Do not reuse the Customer App group for a Driver App or Business App.

Create the Merchant ID​

For a Customer App that uses Apple Pay, open Merchant IDs, select Add (+), enter the merchant name, and register an identifier such as:

merchant.com.yourappname.customer

Add the resulting Merchant ID to the app’s Dashboard settings. A Customer App needs one Merchant ID for this workflow.

Add the Merchant ID in Dashboard

Customer App Merchant ID

Associate the group and Merchant ID​

Return to the main Customer App identifier and:

  1. Open App Groups, select Edit, choose the Customer App group, and save.
  2. Open Apple Pay Payment Processing, select Edit, choose the Merchant ID, and save.
  3. Repeat the App Groups setting for the notification extension identifier.

Associate the App Group

Associate the Merchant ID

After the Customer App identifier, notification extension, group, and Merchant ID are configured, select the app in Dashboard and use Build PRO when you are ready to generate the iOS distribution build.

Driver App and Business App​

Choose a unique bundle identifier​

Choose a unique bundle identifier for every Driver App and Business App. Do not reuse an identifier already registered for another app. Examples include:

  • com.myprojectname.business
  • com.myprojectname.partner
  • com.myprojectname.store
  • com.myprojectname.driver
  • com.myprojectname.delivery

Register the identifier and capabilities​

In Apple Developer Identifiers, create an App ID, select App, enter the app name and Bundle ID, and select these capabilities:

  • Access Wi-Fi Information
  • App Groups
  • Associated Domains
  • Maps
  • Push Notifications

Continue and select Register.

Enter the Driver or Business App identifier

Driver and Business App capabilities

Select Driver and Business App capabilities

Register the Driver or Business App identifier

Create the Driver or Business App group​

Create a separate App Group for the Driver App or Business App. The group identifier follows the same pattern, using that app’s own identifier:

group.com.yourappname.business.onesignal

Open App Groups, create the group, then select it under App Groups in the app identifier capabilities and save the change.

Open the App Groups selector

Driver or Business App Group

Update the App Groups capability for each Driver App and Business App identifier. These apps do not use the Customer App’s Merchant ID flow unless the app’s own approved configuration requires it.

Create an App Store Connect API key​

In App Store Connect API, select Team Keys, create a key, and give it a recognizable name. Download the key when it is generated, then securely record its Key ID and Issuer ID.

Open App Store Connect API Team Keys

Name the App Store Connect API key

Download the API key and copy its identifiers

In Dashboard, add the key information to the app’s iOS build configuration. Find the Team ID in the Apple Developer account, then provide the Team ID, Key ID, Issuer ID, and the private key file through the approved secure workflow.

Dashboard iOS app key settings

Build and test​

After you save the applicable Dashboard settings, generate the iOS build:

  • Use Build Test for a testable build on eligible devices.
  • Use Build PRO for the App Store distribution build.

Before public submission, test the build and follow Test and publish app releases for the store-listing and review steps.