由於需要現在要更改包名,但是在網上找了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