---
title: "iOS App White-Labeling"
slug: "ios-app-white-labeling"
description: "White-label Rocket Chat iOS apps. Customise branding and deliver secure communication for iOS users."
updated: 2026-02-09T06:05:46Z
published: 2026-02-09T06:05:46Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# iOS App White-Labeling

## General setup

> [!WARNING]
> As explained in the [requirements](/open-source-projects/mobile-app/mobile-app-white-labelling#requirements), the repo contains targets/build flavors to build our **experimental**and **official**apps. This guide covers the default flavor, which is the **Experimental app**.

1. Open [RocketChatRN.xcworkspace](https://github.com/RocketChat/Rocket.Chat.ReactNative/tree/single-server/ios/RocketChatRN.xcworkspace) on Xcode (15.x or 16.x).
2. On the General tab, select “**RocketChatRN**” and change **Display Name**, **Bundle Identifier**, **Version,**and **Build**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image.avif)

1. Select **ShareRocketChatRN** and **NotificationService** and change the same properties
  1. `Display Name` and `Bundle Identifier` are different from the previous target.
  2. `Version` and `Build` must be the same on all targets.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image 2(1).avif)
2. On Signing and Capabilities for **RocketChatRN**, check **Automatically manage signing**, select your app group, and add a keychain group.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/keychain RN.png)

Similarly, on the **ShareRocketChatRN** and **NotificationService** targets, check **Automatically manage signing**, select your app group, and add the same keychain group.
3. Set the same app group on `RocketChatRN/Info.plist`, `ShareRocketChatRN/Info.plist` and `NotificationService/Info.plist`

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(14).png)

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(15).png)

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(16).png)

1. Set the same keychain group on `RocketChatRN/Info.plist`, `ShareRocketChatRN/Info.plist` and `NotificationService/Info.plist`

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(17).png)

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(19).png)

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(18).png)

1. It needs to be the same on all entitlements.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(20).png)

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(21).png)

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(22).png)

1. Change the app icon on `Experimental.xcassets/App Icon`

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(23).png)

1. Change the app splash screen on `Experimental.xcassets/Launch Screen Icon`

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(24).png)
2. Change the splash background colors on `Experimental.xcassets/splashBackgroundColor`

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(25).png)
3. Set your Bugsnag API key on `RocketChatRN/Info.plist`

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(26).png)

## Generate iOS app on Firebase

1. Visit the project overview on your [Firebase console](https://console.firebase.google.com).
2. Go to **Settings**>**Project settings**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(27).png)
3. On the “**General**” tab, click on “**iOS**” button under “**Your apps**” section:

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(28).png)
4. Enter your **bundle ID** and then “**Register app**”:

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(29).png)
5. Download the config file and move it as instructed:

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(30).png)
6. Add it to all targets:

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(31).png)

## Run the app

Execute the following in the project terminal:

```bash
yarn
npx pod-install
yarn ios
```

## Configure the Apple developer portal

### Login to Apple developer portal

1. Visit your [Apple developer account](https://developer.apple.com/account).
2. Enter your credentials.
3. Click **Certificates, Identifiers & Profiles**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(32).png)

### Create an app identifier

1. Visit the [Apple identifier list](https://developer.apple.com/account/resources/identifiers/list).
2. Click to add **identifier**.
3. Select **App IDs** and click **Continue**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(33).png)
4. Add a **Description** and **Bundle ID**:

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(34).png)
5. On **Capabilities**, select **App Groups** and **Push notifications**.
6. Click **Continue** and then **Register**.

### Create an app identifier for the share extension version

1. Share extension is a version of the app that opens when you share data from another app to Rocket.Chat. For example, share a photo from the gallery.
2. Visit the [resources identifier list](https://developer.apple.com/account/resources/identifiers/list).
3. Click to add **Identifier**.
4. Select **App IDs** and **Continue**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(35).png)
5. Add a **description** and **Bundle ID**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(36).png)
6. This time, select only **App Groups** under **Capabilities**.
7. Click **Continue** and then **Register**.

### Create an app identifier for our notification service

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(37).png)

### Create an app group

1. Visit the [resources identifier list](https://developer.apple.com/account/resources/identifiers/list).
2. Click to add **Identifier**.
3. Select **App Groups** and **Continue**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(38).png)
4. Enter a **Description** and an **Identifier**:

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(39).png)
5. Click **Continue** and then **Register**.

### Apply app group

1. Visit the [resources identifier list](https://developer.apple.com/account/resources/identifiers/list).
2. Click on the first identifier you created.
3. On **App Groups**, click **Configure**.
4. Select the **App Group** you created and click **Continue**.
5. Click **Save**.
6. Repeat these steps for the second identifier you created for the Share Extension and notification service.

### Create push notifications certificates

- Visit the [resources identifier list](https://developer.apple.com/account/resources/identifiers/list).
- Click on the first identifier you created.
- On **Push Notifications**, click **Configure**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(40).png)

#### Development SSL Certificate

1. On **Development SSL Certificate**, click **Create Certificate**.
2. Follow the [official tutorial](https://help.apple.com/developer-account/#/devbfa00fef7) to generate a **Certificate Signing Request**.
3. Select the certificate you created and click **Continue**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(41).png)
4. Download the certificate and install it on your machine per the on-screen instructions.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(42).png)
5. After installing it, **Keychain Access** should have opened automatically on your Mac.
6. Export the certificate to generate a `.p12` file.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(43).png)
7. For simplicity, save it in the same folder of your CSR and `.cer`. You’ll need it later for SSL/TLS authentication and encryption.

#### Production SSL Certificate

1. On **Production SSL Certificate**, click **Create Certificate**.
2. Follow the [official tutorial](https://help.apple.com/developer-account/#/devbfa00fef7) to generate a **Certificate Signing Request**.
3. Select the certificate you created and click **Continue**.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(44).png)
4. Download the certificate and install it on your machine per the on-screen instructions.

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(45).png)
5. After installing it, **Keychain Access** should have opened automatically on your Mac.
6. Export the certificate to generate a `.p12` file

![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(46).png)
7. For simplicity, save it in the same folder as your CSR and `.cer`. You’ll need it later for SSL/TLS authentication and encryption.
8. Refer to the [Configuring Push Notifications](/v1/docs/configuring-push-notifications) document for further details on setting up push notifications.
