項目.xcodeproj 文件夾底下一般有4個文件: project.pbxproj 文件 xcuserdata 文件夾 xcshareddata 文件夾 project.xcworkspace 文件夾 (這裡暫不講解) 下麵主要講解涉及到 .xcschemes 相關文件,其他設置(例如斷點一類的) ...
項目.xcodeproj 文件夾底下一般有4個文件:
-
project.pbxproj 文件
-
xcuserdata 文件夾
-
xcshareddata 文件夾
-
project.xcworkspace 文件夾 (這裡暫不講解)
下麵主要講解涉及到 .xcschemes 相關文件,其他設置(例如斷點一類的)暫不講解
1.project.pbxproj 文件。
Xcode項目文件是一個老式的plist(下一個風格)根據括弧分隔的層次結構。
refer:http://www.monobjc.net/xcode-project-file-format.html
解析此文件可以使用命令行工具“plutil”,例如
plutil -convert json -s -r -o converted.json /Users/shaowei/Project/iphone-com-pub/baseframe/IphoneCom/IphoneCom.xcodeproj/project.pbxproj
plutil -convert xml1 -s -r -o converted.xml /Users/shaowei/Project/iphone-com-pub/baseframe/IphoneCom/IphoneCom.xcodeproj/project.pbxproj
上面的命令是把指定project.pbxproj文件 轉換到命令的當前目錄下converted.son,詳情請”man plural”來查詢使用方法
註意:儘量帶上“-o 結果文件”,否則的話此命令會修改project.pbxproj文件本身,想相信這不是你想要的。
還有converted.xml 的擴展名改為“converted.plist”,這樣就能使用Xcode的來查看該文件,界面更友好,你懂得。
refer from: http://stackoverflow.com/questions/1452707/library-to-read-write-pbxproj-xcodeproj-files
其他解析方式如下(暫未驗證有消息,只是網上找的):
http://stackoverflow.com/questions/7557273/tutorial-or-guide-for-scripting-xcode-build-phases
https://pypi.python.org/pypi/xUnique
2.xcuserdata 文件夾
此文件夾是項目創建時跟隨創建的,
裡面路徑:mac用戶名.xcuserdatad -> xcschemes -> (***.xcscheme + xcschememanagement.plist)
點擊 Xcode的“manage schemes”,出現下圖,
如果選中 “shared”,則會把該目錄下的“mac用戶名.xcuserdatad -> xcschemes -> ***.xcscheme”文件移動到“xcshareddata->xcschemes”文件夾下;
刪除此文件夾的話,“ xcschememanagement.plist”會在啟動該項目時重建的,但是“***.xcscheme”文件是不會重建的,你就會丟失xcscheme文件。
此目錄下會有多個文件夾,這根據不同的用戶來命名的,當使用版本管理器時,而且沒有忽略該文件夾,你就會發現此目錄下就可能會有多個人的目錄。
一般來說,此目錄不太建議放到svn裡面,因為這個目錄放的是一些個人設置,還有斷點設置一類的,即使你放到svn裡面,別人也不會載入,因為Xcode只會載入對應用戶名的文件夾。
需要和別人共用的xcschemes,應該放到下麵的“xcshareddata”文件夾,然後使用svn來同步“xcshareddata”文件夾
3.xcshareddata 文件夾
項目一開始時,是沒有“xcshareddata”文件夾的。
當上圖的 “shared”覆選框被選中,則會把 “xcuserdata”里相應的xcscheme文件移動到本目錄的xcschemes文件夾下,這時才會創建此文件夾。
多人開發時,為了支持共用xcscheme,一般會勾選“shared”,這樣,相應的“***.xcscheme”就會被移動到該目錄下。
所以在多人開發時,應該把此目錄放到svn里去同步,同時註意,被共用的“***.xcscheme”也會影響到隊友,要慎重修改。
註意:刪除此目錄後,重新打開項目也不會重建的,刪之要慎重~
如果刪除此目錄,而“xcuserdata”文件夾下也沒有xcscheme文件,那麼你打開項目,就會出現如下圖情況,就是無法編譯了;
如果出現了下麵的情況,那麼你把”xcuserdata”文件夾給刪除掉,重啟項目,Xcode會重新創建xcuserdata文件夾和預設的xcscheme文件。