Ios 如何更改;捆绑标识";你是本地人吗?
在启动一个新的react原生项目时,xcode项目将获得捆绑包标识符“org.reactjs.native.example.XYZApp”。XYZ是我真实项目名称的占位符Ios 如何更改;捆绑标识";你是本地人吗?,ios,xcode,react-native,Ios,Xcode,React Native,在启动一个新的react原生项目时,xcode项目将获得捆绑包标识符“org.reactjs.native.example.XYZApp”。XYZ是我真实项目名称的占位符 有没有办法在本机端更改此捆绑包标识符?当然,我可以在XCode中更改它。但这是不安全的,因为当react native重新创建xcode项目时(这可能随时发生),以及重建项目时,它可以被覆盖 不幸的是没有。事实上,我们今天只是在Facebook上讨论这个问题。 目前最好的计划是在升级时选择“d”选项,以验证文件,然后再允许覆
有没有办法在本机端更改此捆绑包标识符?当然,我可以在XCode中更改它。但这是不安全的,因为当react native重新创建xcode项目时(这可能随时发生),以及重建项目时,它可以被覆盖 不幸的是没有。事实上,我们今天只是在Facebook上讨论这个问题。
目前最好的计划是在升级时选择“d”选项,以验证文件,然后再允许覆盖。根据您使用的react本机版本,在两个平台(android和ios)上都有大量文件需要更改 要编辑的文件列表: 国际标准化组织
我们还需要更改文件夹路径以匹配新名称--将
com.oldName
更改为com.newname.mobile
,然后将文件夹路径从app/src/java/com/oldName/
更改为app/src/java/com/newname/mobile/
对于那些希望用简单的方法实现这一点的人,我创建react-native-app id,它将是基本的ally编辑提到的文件。react-native ci工具实际上分叉了我的代码,生成了一个现已过时的react-native应用程序id,该id已修复,无法与最新的react-native一起使用。但是,我的将
使用起来非常简单,只需
react native app id com.foo.bar
即可更新iOS捆绑包id-
- 从终端或命令提示符导航到react本机项目文件夹,然后进入iOS文件夹
- 输入命令打开ProjectName.xcodeproj
- 更新“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文件中的包名
即使使用react native app id,您也必须将文件移动到新文件夹
我结束了使用npm任务进行升级,首先升级,然后运行重命名命令,将android文件移动到正确的路径,并重新链接,以防万一在
ios/project.pbxproj
中编辑与项目关联的产品捆绑包\u标识符
使用XCode更安全。
我知道,对于那些热衷于使用XCode的人来说,在您的react native项目中,在不使用XCode的情况下这样做的问题是:
xed ios
在xcode中打开ios文件夹项目导航器
)ProjectName
General
identity
下,更改捆绑标识我有一个更低调的解决方案,我一直在使用。这不是上述解决方案的替代品,但简单地说,这是另一种方法。我只在iOS上测试过,但我认为它也适用于Android 我注意到,在大多数情况下,创建的项目都会有一个com.xyz.something,类似这样的东西
org.reactjs.native.example.abcyourprojectname-extras
我意识到,我不必检查每个文件夹(也不必使用Xcode),只需搜索(在Visual Studio代码中,打开项目文件夹)
这将列出所有具有捆绑包标识符的文件。只需将其更改为您首选的捆绑包标识符,仅此而已。这样,即使明天有任何文件更改或格式更改或其他情况,搜索仍将是一致的做法
(同样,这是一个低调的解决方案,但似乎对我有效)我们是否仍然无法在React项目中的任何位置指定ios捆绑包id?如果我希望Android软件包名称为com.foo.bar.Android,ios捆绑包id为com.foo.bar.ios,该怎么办?提交PR非常简单,只需在process ios/Android.Coul的单个调用中检查一些参数d被称为react native app id com.foo.bar——忽略与此相关的问题
org.reactjs.native.example