对于我这种常年一个人撑起整个iOS 部门的人来说,项目的吃喝拉撒都得自己罩着,这不,这天老板心血来潮要改个项目名称,于是自己又各种google,各种干。
好了,废话不多说,show me the code。
备份
这个不用我多说吧,没有备份你敢乱动?赶紧备份,然后开始大杀特杀。
删除.xcworkspace,profile.lock,pods文件
相信大部分项目都会用到cocoapods管理项目,如果使用cocoapods就删除标题提到的三个文件,直接垃圾桶,如果没有用到cocoapods,跳过这一步。
打开项目修改项目名称
打开.xcodeproj文件,在左侧导航栏区域点击项目名,修改成指定名称。
修改其他文件名
其实如果不是强迫症或者处女座,修改完项目名就可以了,但是谁让咱是强迫症呢。在导航区域选中想要修改的文件夹名称,右键点击Show in Finder,在弹出的Finder中修改文件夹名称,修改了Finder中的名字后,你会发现项目中的所有文件全变红色了,不要急,还是在导航区选中文件夹,然后在右侧工具区域修改文件夹名称,然后在下面有一个文件按钮,点击之后选中上面修改的文件夹。用第上述方法同样修改Tests文件,修改完成之后,打开Tests.m文件,然后在右侧工具栏先把Tests.m改为指定名称,然后在.m文件中右键名字,点击Rename修改为指定名称。
修改Scheme
Xcode -> Product -> Scheme -> Manager Scheme ->增加新的Scheme并勾选。
pod install
终端 -> cd到项目 -> 执行pod install -> 等待执行完成
错误处理
- 'filename.h' file not found with <angled> include, use "quotes" instead.
这个问题一般都是路径的问题,可以在出错的位置增加或者减少文件层次。如#import <AFNetworking.h>修改为#import <AFNetworking/AFNetworking.h>。 - ld:library not found for -lXXX
我猜想错误引起的原因可能是因为我复制target的时候原来的工程中的的link binary with libraries中原来的libpods-xxx.a没有删除。我将多余的libPods删除后解决。 - No matching provisioning profiles found for application/XXX
有的时候命名已经有了pp文件,但是提交软件的时候还是会报这个错误,百思不得其解,别急,容我慢慢道来,其实修改bundle identifier 只在info.plist中修改并没有完,还需要把Build Settings中Package分栏下的Product Bundle Identifier改成新的bundle id。
至此,项目改名提交版本完成。