Xcode9 修改工程名(含cocopods)
由于需要现在要更改包名,但是在网上找了N多资料都比较老,16年的资料却是残缺不全,尤其 ios10 出了 .entitlement 的机制 ,很多琐碎的小细节 很容易忘记。所以我自己总结了一篇, 环境为 Xcode Version 9.0 (9A235)。
注意:请在修改前使用git 备份工程,如果使用的SVN 要把 代码从仓库拖出来修改。
1,修改文件名(将bubble 修改成bubblewrap)
----->
2, 将旧项目文件夹和Tests文件夹还有UITest文件夹修改为新的名称,修改后如下图所示(我这里没有UITests,)
(注意:UITests和Tests要不要动,只修改前面的bubble,而且要把里面的.m文件名也修改)
3,右击 你的项目.xcodeproj
,选择“show content package”(中文:显示包内容),看到如下目录,并将project.pbxproj文件以 文本编辑 打开。
4,替换新旧项目名:按command+f(这主要是修改项目文件路径等)
勾选 替换 ,点击 全部
5,进入项目,修改项目名(注意:如果使用的是cocopods,从 你的项目.xcworkspace 进入)
按回车 修改 bubble-->bubblewrap(如果打开工程后发现,工程文件变红了,也就是丢失了,参考直接跳到本文末,有解决方法)
点 rename
6,修改schemess
回车修改 bubble --->bubblewrap,点击close
7,修改Tests 和UITests文件(将interface 和implementation 后的bubble 修改为 bubblewarp )
8,修改 cocopods 的Podfile文件(注意,我没有UITests,所以如果你有,那么你修改三次)
9,修改旧项目的Tests及UITests文件名和cocoapods启动项及项目启动项
bubble.xcworkspace---->bubblewrap.xcworkspace
bubble.xcodeproj---->bubblewrap.xcodeproj
结束!
最后的最后:
错误1: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 缓存 编译,解决!
错误2: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.
并且我的cocopods文件全都丢失了如下图
bubblewrapwarp 和 bubblewrapwarpTests
如下图然后 我再次按照3和4 的步骤查找了bubblewrapwarp 发现了 18 处,所以我将bubblewrapwarp替换成bubblewrap,解决
本文参考:http://www.jianshu.com/p/afa14125f66b
http://www.jianshu.com/p/4c3164fe552a
http://www.cnblogs.com/abinzhang/p/5662061.html