iOS开发-修改项目包名

今天来看一下iOS开发中如何修改包名,如果是单纯的修改包名还是比较简单的,但是如果和RN接起来,机会有超多的坑。

假设我们现在已经有一个名为AppFirstName的应用,我们需要将这个名字改为AppSecondName

修改React native代码

修改RN的代码比较简单,只需要修改两个文件:

  • package.json
  • index.js

package.json

在package.json中只需要把name修改成新的包名就可以了

"name": "AppFirstName", => "name": "AppSecondName",

logo

index.js

在index.js中也是只将App的入口更改为新的包名

1
AppRegistry.registerComponent('AppFirstName', () => App);

改成

1
AppRegistry.registerComponent('AppSecondName', () => App);
logo

iOS部分

iOS部分比较复杂,主要分为这么几个部分:

  • 1.Xcode项目部分;
  • 2.Xcode中test部分;
  • 3.Xcode中所有文件名;
  • 4.Xcode中所有相关代码;
  • 5.修改scheme;
  • 6.finder中文件夹名称;
  • 7.cocospod相关;

Xcode项目部分

首先从Xcode项目开始,使用Xcode打开项目,点击左上角项目名称,按下回车就可以修改项目名称了。

logo

修改好新的名称之后回车,就可以看到这个界面,点击rename就可以了。

logo

这时候会发现应用大部分东西已经发生变化了,而且这个时候项目是一定没办法跑起来的,也不用跑,接着往下改。

logo

Xcode中test部分

接下来把xxTests.m中的代码修改一下。

logo

Xcode中文件名

这步就直接把Xcode中所能看到的所有旧的相关文件名都替换成新的项目包名就可以了。也可以直接在下边搜索关键字并替换,这里注意,Pods下的部分先不要修改。

logo

Xcode中相关代码

接下来再应用中全局搜索旧包名的关键字,并替换成新的包名,同上,这一步Pods部分先不要动,xcodeproj中的也可以先不动。

logo

修改scheme

点击Product => Scheme => Manage Scheme ,这里你可以直接把原来的名字替换成新的名字。哦对了,这个地方不要双击,单击要改的地方按下回车就可以修改了。这里的-Pods也是需要修改的。

logo

修改finder中的文件

这时候关闭Xcode,在finder中修改所有的旧包名,改成新的包名。

cocospod相关

这部分有两种方式可以使用。

重新安装pods

一种就是把原来的cocospod相关的东西全部删除,需要删除的文件有:

  • Pods 文件夹
  • Podfile.lock 文件
  • .xcworkspace 文件

然后重新pod init,记得不要删掉Podfile文件,不然就没办法安装了。

修改名称

再或者修改.xcworkspace文件的文件名为新的包名,并右键.xcodeproj文件,点击Show Package Contents,然后使用文本编辑器打开project.pbxproj。寻找所有的旧包名并替换。

收尾工作

这时候打开Xcode,别急着跑,先看看有没有文件是爆红的,如果有的话,点击右侧小文件夹,重新引入一下文件路径。

logo

如果之前你是使用修改名称的方式修改cocospod,记得我们之前说的不要修改pods下的文件名和代码么?这时候就可以开始修改了。

记得先修改一下Pods下target的名称。

logo

修改完直到应用中再也搜索不到旧的包名,这时候cmd+r一下试试吧。

最后

修改包名还是有很多坑的,有的时候有一点东西改的不对,就会影响最后的效果,修改的时候还是要多耐心一点。

参考文档

修改react-native项目名称

修改包名Xcode