如何更改React Native中的"Bundle Identifier"?

del*_*ete 30 xcode ios react-native

启动一个新的react-native项目,xcode-project输出bundle-identifier"org.reactjs.native.example.XYZApp".XYZ是我的真实项目名称的占位符.

有没有办法在react-native端更改此bundle标识符?当然,我可以在XCode中更改它.但这不安全,因为当react-native重新创建xcode项目时,它可以被覆盖,这可能在任何时候发生,也可能在重建项目时发生.

小智 34

基于您使用的react-native版本,在两个平台上都有一堆文件需要更改(android和ios)

要编辑的文件列表:

IOS

  1. [application_build_scheem] .plist(这是一个dict/xml文件,包含默认情况下使用的键,如果没有更改添加到项目中(react-native-cli init类型的项目)

ANDROID

  1. strings.xml(更改app_name键值)
  2. manifest.xml(更改属性)
  3. build.gradle(更改applicationId值)
  4. MainActivity.java(更改java类)
  5. MainApplication.java(更改java类)

值得一提:

有一个npm模块@ https://www.npmjs.com/package/react-native-ci-tools,它碰巧做了以上所有使用它并让生活变得轻松.


Kyl*_*son 7

对于那些想要一个简单的方法来做这件事的人,我创建了react-native-app-id,它基本上会编辑提到的文件.react-native-ci-tools实际上将我的代码分叉,以生成一个现在过时的react-native-app-id-fixed,它不适用于最新的本地反应.然而我的...

https://github.com/kyle-ssg/react-native-app-id

用法就像 react-native-app-id com.foo.bar

  • 如果我想将Android软件包名称作为**com.foo.bar.android**并将IOS软件包ID作为**com.foo.bar.ios**,该怎么办? (2认同)

小智 6

更新 iOS 捆绑包 ID -

  • 从终端或命令提示符导航到 react-native 项目文件夹,然后进入 iOS 文件夹。
  • 输入命令打开 ProjectName.xcodeproj

此命令将在 Xcode 中打开您需要更新应用程序包标识符信息的项目

要更新 android 包名称,请按照以下步骤操作 -

  • 根据您的新包名称更新“android/app/src/main/java/”文件夹中的文件夹结构,例如“com/companyName/appName”
  • 更新 MainActivity.java 文件中的包名
  • 更新 MainApplication.java 文件中的包名
  • 更新 /android/app/src/main/AndroidManifest.xml 文件中的包名
  • 更新 /android/app/BUCK 文件中的包名
  • 更新 /android/app/build.gradle 文件中的包名


Geo*_*ean 5

这是我的解决方案,没有添加一些外部包。 npx react-native-rename <newName> -b <bundleIdentifier>只需在项目根目录中 运行即可。https://github.com/junedomingo/react-native-rename


Chr*_*man -1

不幸的是没有。事实上,我们今天刚刚在 Facebook 的 React Native 小组中讨论了这个问题。 https://m.facebook.com/groups/586400221495560?view=permalink&id=738954276240153&comment_id=739065029562411¬if_t=group_comment_reply&ref=m_notif

目前最好的计划是在升级时选择“d”选项,以在允许覆盖之前验证文件。