前言
最近遇到過幾次快速開發的需求,開發時間一般在兩周左右。項目結構簡單,而且跟以前做過的項目類似,因此有了更改名稱的需求,同時對于 Obj-C 還要更改文件前綴。
準備工作
先來看一下項目的結構
文件結構
Xcode 中結構
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 打開項目,更改項目名。如下圖:
step0
step1
更改后結果如圖:
更改結果
2 退出 xcode 找到 Rename.xcodeproj -> ShowPackageContent -> 打開 project.pbxproj 全局查找 RenameTest 并替換為 Rename
Screen Shot 2017-04-29 at 10.10.06 AM.png
3 修改對應文件夾名稱, 刪掉 Rename.xcworkspace 和 Podfile.lock 并修改 Podfile 里制定的路徑 修改好后執行 pod install
修改文件夾名稱
podfile 最終
4 執行pod install 后 打開Rename.xcworkspace 修改 scheme 名稱
Screen Shot 2017-04-29 at 10.16.37 AM.png
好了 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 同級目錄下,并運行
Screen Shot 2017-04-29 at 10.20.10 AM.png
rename
2 打卡 xcode 將紅色部分刪除,并將改名后的文件拖入工程。
delete
結果
注: 對于比較大的項目,內有子project的,如本例中的 MGIDCard.xcodeproj,可能需要刪掉,然后重新加入。
再注:改變項目名后,xcode 可能會報幾千個警告,file missing。這是 xcode 的 bug,git 重新提交后就沒有了。