剪切了一份 關於XCODE項目的配置說明 遊戲開發中用到

XCode 項目配置說明

 (2014-05-07 14:06:24)
標籤: 

xcode

 

設置項

分類: IOS

初學XCode最讓人頭疼的就是項目各屬性設置,各種不解,這裏做個總結:

項目配置:

基本項(Basic)

1、Architectures(指令集)——設置你想支持的指令集,目前ios的指令集有以下幾種:

(1)armv6,支持的機器iPhone,iPhone2,iPhone3G及對應的iTouch 2,

(2)armv7,支持的機器iPhone4,iPhone4S

(3)armv7s,支持的機器iPhone5,iPhone5C

(4)arm64,支持的機器:iPhone5S

機器對指令集的支持是向下兼容的,因此armv7的指令集是可以運行在iphone5S的,只是效率沒那麼高而已~

Valid architectures : 指即將編譯的指令集。

Build Active Architecture Only : 是否只編譯當前適用的指令集。  

現在是2014年初,其實4和4S的用戶還是蠻多的,而iphone3之類的機器幾乎沒有了,所以我們的指令集最低必須基於armv7. 因此,Architecture的值選擇:armv7 armv7s arm64(選arm64時需要最低支持5.1.1,這塊不太明白)

1、如果想自己的app在各個機器都能夠最高效率的運行,則需要將Build Active Architecture Only改爲NO,Valid architectures選擇對應的指令集:armv7 armv7s arm64。這個會爲各個指令集編譯對應的代碼,因此最後的 ipa體積基本翻了3倍。(如果不在乎app大小的話,應該這樣做)  

2,如果想讓app體積保持最小,則現階段應該選擇Valid architectures爲armv7,這樣Build Active Architecture Only選YES或NO就無所謂了。

Base SDK ----當前編譯用的SDK版本。

iPhone OS Deployment Target----指的是編譯出的程序將在哪個系統版本上運行。

iPhone OS的版本衆多,很多用戶由於各種各樣的原因沒有升級到最新版,這就給我們開發者帶了麻煩。作爲開發者,我們都希望軟件的受衆越多越好。怎麼樣讓軟件儘量適應最多的iPhone OS?

這裏我們就應該瞭解iPhone項目的Base SDK和iPhone OS Deployment Target。 Base SDK指的是當前編譯用的SDK版本。iPhone OS Deployment Target指的是編譯出的程序將在哪個系統版本上運行。

用更簡單實用的語句描述如下:

Base SDK設置爲當前xcode所支持的最高的sdk版本,比如"iphone Device 4.0"。iPhone OS Deployment Target設置爲你所支持的最低的iPhone OS版本,比如"iPhone OS 3.0"。

這樣設置之後,你的程序就可以運行於從iPhone OS 3.0 到 4.0的設備之上。當然,前提是你沒有用到4.0新加的API。

2、Build Options:

validate Built Product:boolean 類型,指定是否執行產品驗證測試(就是說是否使用你的證書進行驗證測試)。一般在Debug版本設置成NO,release版本設置成Yes。

當你使用的證書無效時,常提示錯誤:

warning: Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011)

當然你可以設置成No,不進行驗證。

在targets》build setting》validate built Product裏面設置release爲NO,警告消失。

問題描述:在做ios開發過程中,曾多次撤銷過原證書,並頒發新的證書。原來使用xcode3也有什麼問題,自從使用xcode4之後(本人目前xcode 4.3.2)每次真機測試。連上真機之後,直接調試會報錯,提示錯誤問題就是證書不止一個。錯誤代碼如下:

Code Sign error: Certificate identity 'iPhone Developer:******************' appears more than once in the keychain. The codesign tool requires there only be one.

解決辦法:打開keychain(鑰匙串訪問)之後,發現多個證書,都是歷次請求的證書。把之前的證書全部都幹掉,就留下最後一次請求的證書(參考過期日期),之後再次調試可以正常真機測試。

3、Code Signing 代碼簽名

Code Signing Identity-----代碼簽名的身份,即選擇簽名證書,一是開發證書,二是發佈證書。

開發的時候用Development,比如下模擬器,下真機測試。如果是上傳app store 上就應該用Distribution 設置的時候全部統一設置成一樣就好了。

Code signing 對你來說,最主要的意義就是它能讓你的App在設備上運行。不管是你自己的設備,甲方客戶的,還是在App store上購買你的消費者。如果沒有code signing,你只可以在模擬器上,或者一臺越獄過的機器上運行你的應用----當然,僅僅如此是不能滿足我們的。模擬器的測試僅僅是一種初步測試,模擬器不能替代真機調試,因爲真正的設備會通常比模擬器慢。模擬器使用的是你的MAC機上的處理器,而一臺真正的iphone可遠遠沒有這種條件。所以如果你不在設備上真正運行,你可能就會忽略實際的性能問題。

4、Search Paths 查詢路徑

Always Search User Paths --- 是否搜索用戶路徑

Xcode Header Path的設置 Header Search Paths是一定會去搜索的。 而UserHeader Search Paths只有在Always Search User Paths爲Yes時纔會被搜索。

Header Search Paths (HEADER_SEARCH_PATHS) ------This is a list of paths to folders to be searched by the compilerfor included or imported header files when compiling C,Objective-C, C++, or Objective-C++ source files.

Library Search Paths (LIBRARY_SEARCH_PATHS) -------This is a list of paths to folders to be searched by the linker forstatic and dynamic libraries used by the product.

Framework Search Paths (FRAMEWORK_SEARCH_PATHS) -------This is a list of paths to folders containing frameworks to besearched by the compiler for both included or imported header fileswhen compiling C, Objective-C, C++, or Objective-C++, and by thelinker for frameworks used by the product.

Rez Search Paths (REZ_SEARCH_PATHS) ----This is a list of paths to search for files included by CarbonResource Manager resources and compiled with the Rez tool.

5、Apple LLVM5.0 -Language - ObjectC

其中,Objective-C Automatic Reference Counting 設置ObejctC 是否使用ARC技術。

該機能在 iOS 5/ Mac OS X 10.7 開始導入,利用 Xcode4.2 可以使用該機能。簡單地理解ARC,就是通過指定的語法,讓編譯器(LLVM 3.0)在編譯代碼時,自動生成實例的引用計數管理部分代碼。有一點,ARC並不是GC,它只是一種代碼靜態分析(Static Analyzer)工具。

詳細參考:http://blog.csdn.net/zkdemon/article/details/7446385

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章