Xcode 工程檔案“.xcodeproj”檔案夾解析,xcode.xcodeproj

來源:互聯網
上載者:User

Xcode 工程檔案“.xcodeproj”檔案夾解析,xcode.xcodeproj

項目.xcodeproj 檔案夾底下一般有4個檔案:

 

下面主要講解涉及到 .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檔案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.