Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change the "Bundle Identifier" within React Native?

Starting a new react-native project, the xcode-project gots the bundle-identifier "org.reactjs.native.example.XYZApp". XYZ is the placeholder here for my real project name.

Is there any way to change this bundle identifier on react-native side? Sure, I can change it in XCode. But this is not safe because it can be overriden when react-native will recreate the xcode-project, which could happen at any time, as well es when rebuilding the project.

like image 949
delete Avatar asked Mar 20 '16 21:03

delete


People also ask

How do I find my react native bundle identifier?

Go to Project Options --> Build --> Android Application --> Package name.

What do you put in a bundle identifier?

To create a unique bundle identifier, you append the name of the application to the reversed domain, for example, com. cocoacasts. scribbles . Remember that you choose the bundle identifier.


1 Answers

Based on the react-native version you are using there are bunch of files that have to be changed on both platforms (android and ios)

List of files to edit:

IOS

  1. [application_build_scheem].plist (this is a dict/xml file that contains keys that are used by default if no changes added to project (react-native-cli init type of project)

ANDROID

  1. strings.xml (change app_name key value)
  2. manifest.xml (change package attribute)
  3. build.gradle (change applicationId value)
  4. MainActivity.java (change java class package)
  5. MainApplication.java (change java class package)

It's worth mentioning that there is an an npm module (https://www.npmjs.com/package/react-native-ci-tools) that does all of the above; use it and make life easy.

Update (6/Mar/2019)

Update Folder Paths:

We also need to change the folder paths to match new name -- change com.oldName to com.newname.mobile, then change folder paths from app/src/java/com/oldName/ to app/src/java/com/newname/mobile/.

like image 79
Wandawi Najeeb R Avatar answered Sep 25 '22 23:09

Wandawi Najeeb R