使用平台Xcode4.6.1+cocos2d 2.0。
一. 安裝
- 從http://www.cocos2d-iphone.org/download下載並解壓縮最新版本的cocos2d,默認情況下會保存在 /Users/XXX/Downloads/cocos2d-iphone-2.0文件夾;
- 打開終端,輸入:./Downloads/cocos2d-iphone-2.0/install-templates.sh -f 安裝cocos2d的模板;
提示:如果在安裝過程中提示拒絕權限,可以打開Finder,按SHIFT+COMMAND+G,然后輸入~/Library/Developer/Xcode,刪除Templates文件夾,然后再新建一個名為Templates的文件夾即可。
目前版本的install-templates腳本不再支持通過sudo的方式安裝,執行上述操作可以讓當前賬戶獲取對Templates文件夾的訪問權限。
二. ARC支持
從iOS5開始,ARC技術的引用簡化了程序員的開發工作,因為我們不再必須去記住一定要去釋放每一個已申請的對象,我們可以將更多的注意力專注於程序邏輯的本身。
但是cocos2d默認是不支持ARC的,如何能做到既能使用ARC又能使用cocos2d呢?靜態庫可以解決這一問題,下面介紹一下具體操作步驟。
1. 新建工程,選擇cocos2d iOS模板:
2. 輸入項目的基本信息:
3. 新建后的項目如下圖所示:
4. 點擊下方的Add Target按鈕,添加靜態庫,如下圖所示:
5. 為新的靜態庫起一個你喜歡的名字,如下圖所示,我給靜態庫起的名字是Cocos2d Libs:
注意不要選擇“Use Automatic Reference Counting”,因為我們將把cocos2d的文件移植到該靜態庫中,而cocos2d目前並不支持ARC。
6. 添加完靜態庫后的項目結構如下圖所示:
7. 選中Cocos2d Libs和libs,並將這兩個文件夾刪除,注意此時只是刪除引用,而不要把文件徹底刪除,因為稍后還會使用到。刪除之后的項目結構如下圖所示:
8. 選中左側項目結構的根節點HelloCocos2D,然后選中Targets下方的HelloCocos2D,在Summary選項卡中,滾動到中下方位置可以看到“Linked Frameworks and Libraries”,點擊其下方加號,在彈出的窗口中,選中“libCocos2d Libs.a”並點擊Add按鈕,如下圖所示;
9. 選擇菜單命令File-Add Files to "HelloCocos2D"…,找到並選中第7步刪除的libs文件夾,確認不要勾選Destination的Copy items into destination group's folder(if needed),同時在Add to targets中選擇Cocos2d Libs作為目標,如下圖所示:
10. 將添加后的libs文件夾拽到HelloCocos2D文件夾的下方,這樣就和我們剛才看到的結構差不多了,如下圖所示:
11. 在項目屬性的Targets下方選中Cocos2d Libs,在搜索框中輸入search,然后將Always Search User Paths設置為YES,在User Header Search Paths中輸入./**,如下圖所示:
12. 在搜索框中輸入build,然后將Build Active Architecture Only的Debug修改為No,如下圖所示:
說明:如果不修改此選項,雖然可以在模擬器上運行,但是無法在真機上調試;
13. 打開Finder,瀏覽到項目所在位置,將Cocos2d Libs-Prefix.pch文件從Finder中拖拽至Supporting Files文件夾下,此時需要勾選Destination中的Copy items into destination group's folder(if needed),並在Add to targets中選中Cocos2d Libs作為目標。如下圖所示:
說明:引入pch文件之后,就可以將剛剛Xcode生成的Cocos2d Libs徹底刪除了。
14. 在項目屬性的Targets下方選中Cocos2d Libs,在搜索框中輸入prefix,然后將Prefix Header修改為HelloCocos2D/Cocos2d Libs-Prefix.pch,如下圖所示:
15. 在項目屬性的Targets下方選中Cocos2d Libs,在搜索框中輸入ios deployment,然后將iOS Deployment Target由iOS 6.1改為iOS 4.3,如下圖所示:
說明:如果不修改此設置,當選擇在iOS5.0模擬器上運行時,會報:lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic的錯誤。
16. 選擇菜單命令Edit-Refactor-Convert to Objective-C ARC…,在彈出的窗口中選中HelloCocos2D.app(HelloCocos2D),然后單擊Check按鈕,如下圖所示:
17. 后續再出現的對話框直接確認即可。經過上述步驟調整之后的工程結構看起來並沒有發生太大的變化,不過此時我們的工程已經支持ARC了。運行效果如下圖所示:
OK,搞定收工!