Xcode修改包名(含cocopods)

时间:2023-03-08 22:49:12

由于需要现在要更改包名,但是在网上找了N多资料都比较老,16年的资料却是残缺不全,尤其 ios10 出了 .entitlement  的机制 ,很多琐碎的小细节 很容易忘记。所以我自己总结了一篇。

注意:请在修改前使用git 备份工程,如果使用的SVN 要把 代码从仓库拖出来修改。

1,修改文件名(将bubble 修改成bubblewrap)

Xcode修改包名(含cocopods)----->Xcode修改包名(含cocopods)

2, 将旧项目文件夹和Tests文件还有UITest名夹修改为新的名称,修改后如下图所示(我这里没有UITests,)

Xcode修改包名(含cocopods) (注意:UITests和Tests要不要动,只修改前面的bubble,而且要把里面的.m文件名也修改)

Xcode修改包名(含cocopods)

3,右击 你的项目.xcodeproj,选择“show content package”(中文:显示包内容),看到如下目录,并将project.pbxproj文件以 文本编辑 打开。

Xcode修改包名(含cocopods)

Xcode修改包名(含cocopods)

4,替换新旧项目名:按command+f(这主要是修改项目文件路径等)

Xcode修改包名(含cocopods)

勾选 替换   ,点击  全部

5,进入项目,修改项目名(注意:如果使用的是cocopods,从 你的项目.xcworkspace 进入)

按回车 修改 bubble-->bubblewrap

Xcode修改包名(含cocopods)

Xcode修改包名(含cocopods)

点 rename

5,修改schemess

Xcode修改包名(含cocopods)

回车修改 bubble --->bubblewrap,点击close

Xcode修改包名(含cocopods)

7,修改Tests 和UITests文件(将interface 和implementation 后的bubble 修改为 bubblewarp )

Xcode修改包名(含cocopods)

8,修改 cocopods 的Podfile文件(注意,我没有UITests,所以如果你有,那么你修改三次)

Xcode修改包名(含cocopods)

9,修改旧项目的Tests及UITests文件名和cocoapods启动项

bubble.xcworkspace---->bubblewrap.xcworkspace

Xcode修改包名(含cocopods)

结束!

最后的最后:

如果报错:The file “bubble.entitlements” couldn’t be opened because there is no such file.

这是 ios 10 出的签名机制,想了解更多参考 http://www.cnblogs.com/abinzhang/p/5662061.html,解决方式就是 删除报红的 bubble.entitlements 文件,然后在build Setting 中清空签名文件,在清除下Xcode 缓存 编译,解决!

Xcode修改包名(含cocopods)

Xcode修改包名(含cocopods)

如果报错:diff: /../Podfile.lock: No such file or directory

diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock.

Run 'pod install' or update your CocoaPods installation.

  执行 8 ,然后 在终端 CD到项目 执行 pod install,如果还是报错,请参考  http://www.jianshu.com/p/4c3164fe552a
  如果报错:xxxTests.m文件和xxxUITests.m文件是不可用的
执行 2,和7 ,解决