前言
最近遇到过几次快速开发的需求,开发时间一般在两周左右。项目结构简单,而且跟以前做过的项目类似,因此有了更改名称的需求,同时对于 Obj-C 还要更改文件前缀。
准备工作
先来看一下项目的结构
Xcode 中结构
备注: 习惯把xworkplace 放在最外面。podfile文件内容如下
platform :ios, '7.0'
inhibit_all_warnings!
workspace 'RenameTest'
project 'RenameTest/RenameTest.xcodeproj'
target "RenameTest" do
pod 'AFNetworking','2.6.3'
pod 'APAddressBook'
pod 'FDStackView', '1.0'
pod 'SDWebImage', '3.8.2'
pod 'SWTableViewCell', '~> 0.3.7'
pod 'Mantle'
end
步骤
1 打开项目,更改项目名。如下图:
更改后结果如图:
2 退出 xcode 找到 Rename.xcodeproj -> ShowPackageContent -> 打开 project.pbxproj 全局查找 RenameTest 并替换为 Rename
3 修改对应文件夹名称, 删掉 Rename.xcworkspace 和 Podfile.lock 并修改 Podfile 里制定的路径 修改好后执行 pod install
4 执行pod install 后 打开Rename.xcworkspace 修改 scheme 名称
好了 xcode 项目名称到此就修改完毕了。
接下来修改文件前缀,由于之前改了个修改前缀的脚本,这次就直接拿来用了
#!/usr/bin/env python
import os
for dirpath, _, filenames in os.walk('.'):
for filename in filenames:
if filename.startswith('AAA'):
oldFile = os.path.join(dirpath, filename)
newFile = os.path.join(dirpath, filename.replace('AAA', 'BBB', 3))
print newFile
inFile = open(oldFile)
outFile = open(newFile, 'w')
replacements = {'AAA':'BBB'}
for line in inFile:
for src, target in replacements.iteritems():
line = line.replace(src, target)
outFile.write(line)
inFile.close()
outFile.close()
os.remove(oldFile)
1 将 rename.py 放到 Rename.xcodeproj 同级目录下,并运行
2 打卡 xcode 将红色部分删除,并将改名后的文件拖入工程。
注: 对于比较大的项目,内有子project的,如本例中的 MGIDCard.xcodeproj,可能需要删掉,然后重新加入。
再注:改变项目名后,xcode 可能会报几千个警告,file missing。这是 xcode 的 bug,git 重新提交后就没有了。