--- 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-09-08T18:25:57Z published: 2026-09-08T18:25:57Z canonical: "developer.rocket.chat/ios-app-white-labeling" --- > ## 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 1. Open [RocketChatRN.xcworkspace]( https://github.com/RocketChat/Rocket.Chat.ReactNative/tree/single-server/ios/RocketChat.xcworkspace) on Xcode 26.x. 2. On the General tab, select “RocketChat” and change **Display Name**, **Bundle Identifier**, **Version,** and **Build**. ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/General Tab.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 1. Select **ShareRocketChatRN** and **NotificationService** and change the same properties. ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/Version and Build.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 1. `Display Name` and `Bundle Identifier` are different from the previous target 2. `Version` and `Build` must be the same on all targets 2. On Signing and Capabilities for **RocketChat**, 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/Signing.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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/Information Property List.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/RNInfolist.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D)![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/Share Info List.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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/keychain-RN.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/keychain-NS.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/keychain-SRN.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 1. It needs to be the same on all entitlements. ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/RNentitlement.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/SRNentitlement.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/NSentitlement.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 1. Change the app icon on `RocketChatRN/Assets/App Icon`: ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/AppIcon.png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 1. Change the app splash screen on `RocketChatRN/Assets/Launch Screen Icon` : ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/LaunchScreen(1).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 2. Change the splash background colors on `RocketChatRN/Assets/splashBackgroundColor` : ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/splashbackground(1).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 3. Set your Bugsnag API key on `RocketChatRN/Info.plist` ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/bugsnag(1).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ## 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 4. Enter your **bundle ID** and then “**Register app**”: ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(29).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 6. Add it to all targets: ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(31).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ## Run the app Execute the following in the project terminal: ```bash pnpm install pnpm pod-install pnpm 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ### 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 4. Add a **Description** and **Bundle ID**: ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(34).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 5. Add a **description** and **Bundle ID**. ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(36).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) ### 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 4. Enter a **Description** and an **Identifier**: ![](https://cdn.us.document360.io/27ca1fd4-36d7-4cde-b4eb-97fc1652954c/Images/Documentation/image(39).png?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) #### 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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?sv=2026-02-06&spr=https&st=2026-11-03T03%3A57%3A04Z&se=2026-11-03T04%3A57%3A04Z&sr=c&sp=r&sig=tXHjI1YD6H8wAfbe1iENicC5IKvv%2FxKm6vDAqfFSlR4%3D) 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.