真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

13.3.2 cocos2d項(xiàng)目如何支持ARC

iOS 5中所支持的全新特性ARC(Automatic Reference Counting)首次在iOS系統(tǒng)中提供了自動(dòng)內(nèi)存管理,從而避免因?yàn)閷?duì)retain、release、autorelease這些命令的錯(cuò)誤調(diào)用而導(dǎo)致內(nèi)存泄漏。實(shí)際上,Apple還成功地使得ARC可以向下兼容iOS 4的項(xiàng)目?,F(xiàn)如今,越來(lái)越多的項(xiàng)目都使用了ARC來(lái)處理內(nèi)存管理的引用計(jì)數(shù)。本書中所有的源代碼都已經(jīng)轉(zhuǎn)為使用ARC,這意味著有更少的代碼量、更少的Bug以及更優(yōu)秀的內(nèi)存管理。

創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái),先為蜀山等服務(wù)建站,蜀山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為蜀山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

意外的問(wèn)題是,cocos2d源碼并沒(méi)有使用ARC。這就意味著,基于cocos2d開發(fā)游戲時(shí),不能使用ARC。到目前為止,最好的解決方案就是將cocos2d代碼添加為靜態(tài)庫(kù)(Static Library),然后就可以安全地將cocos2d靜態(tài)庫(kù)連接到支持ARC的目標(biāo)項(xiàng)目程序當(dāng)中了。

使用添加靜態(tài)庫(kù)的方式使cocos2d項(xiàng)目支持ARC,大致需要如下兩個(gè)步驟。

1. 將cocos2d代碼添加為靜態(tài)庫(kù)。

2.重構(gòu)cocos2d項(xiàng)目源碼使之支持ARC。

接下來(lái),我們執(zhí)行上面兩個(gè)步驟就可以將“HelloWorld”項(xiàng)目改為支持ARC。

1. 將cocos2d代碼添加為靜態(tài)庫(kù)

在項(xiàng)目導(dǎo)航面板中選擇“HelloWorld”項(xiàng)目,然后單擊TARGETS下面的“HelloWorld”這個(gè)Target,再選擇“Build Settings”,找到“Apple LLVM 5.0-Language-Objective C”項(xiàng)目,展開可以看到“Objective-C Automatic Reference Countiong”選項(xiàng)為No,如圖13.8所示,說(shuō)明當(dāng)前項(xiàng)目并沒(méi)有使用ARC。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

在項(xiàng)目導(dǎo)航面板中選擇“HelloWorld”項(xiàng)目,然后找到libs組并刪除。彈出如圖13.9所示的確認(rèn)對(duì)話框,單擊“Remove References”按鈕。不要單擊“Move to Trash”按鈕將這些文件移動(dòng)至回收站中,因?yàn)橹筮€要使用到它們。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

在項(xiàng)目導(dǎo)航面板中選擇“HelloWorld”項(xiàng)目,然后單擊TARGETS下面的“HelloWorld”這個(gè)Target,再單擊HelloWorld下面的“Add Target”按鈕,如圖13.10所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

展開iOS下的“Framework&Library”,選擇“Cocoa Touch Static Library”模板,然后單擊“Next”按鈕,如圖13.11所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

為靜態(tài)庫(kù)命名,在“Product Name”中輸入cocos2d-library,然后單擊“Finish”按鈕,將靜態(tài)庫(kù)目標(biāo)程序添加到HelloWorld項(xiàng)目中,如圖13.12所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

創(chuàng)建cocos2d-library目標(biāo)程序后,選擇它,可以看見(jiàn)“Build Settings”窗格,需要修改“Search Paths”中的兩項(xiàng)內(nèi)容,在右上角的搜索欄中輸入“search”。將“Always Search User Paths”設(shè)置為Yes,將“User Header Searh Paths”設(shè)置為./**,如圖13.13所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

在項(xiàng)目導(dǎo)航面板中選擇“HelloWorld”項(xiàng)目,然后單擊TARGETS下面的“HelloWorld”這個(gè)Target,選擇“Build Phases”標(biāo)簽頁(yè),展開“Link Binary With Libraries”列表,如圖13.14所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

單擊列表下面的“+”按鈕,加入剛才創(chuàng)建的cocos2d-library靜態(tài)庫(kù),然后單擊“Add”按鈕,如圖13.15所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

將cocos2d文件添加到建立的靜態(tài)庫(kù)目標(biāo)程序中。選擇“cocos2d-library”組并單擊右鍵,選擇“Add Files to‘HelloWorld’”,如圖13.16所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

找到并選擇HelloWorld項(xiàng)目文件夾中的libs文件夾,同時(shí)選中“Create groups for any added folders”單選鈕,選擇“cocos2d-library”復(fù)選框,如圖13.17所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

提示:

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

2. 重構(gòu)cocos2d項(xiàng)目源碼使之支持ARC

將不支持ARC的cocos2d源碼生成為靜態(tài)庫(kù)(Static Library)之后,接下來(lái)就是重構(gòu)cocos2d項(xiàng)目源碼使之支持ARC。非常幸運(yùn)的是,Xcode的最新版本已經(jīng)提供了這個(gè)功能,可以很方便地將原本不支持ARC的代碼轉(zhuǎn)換為支持ARC。

從Xcode菜單欄選擇“Edit”→“Refactor”→“Convert to Objective-C ARC”,再選擇要轉(zhuǎn)換的目標(biāo)程序,如圖3-18所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

圖13.18 選擇“Convert to Objective-C ARC”進(jìn)行代碼重構(gòu)

選擇“HelloWorld”項(xiàng)目,不要選擇“cocos2d-library”項(xiàng)目,然后單擊“Check”按鈕,如圖13.19所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

Xcode會(huì)嘗試以支持ARC的方式生成代碼,并彈出一個(gè)說(shuō)明性對(duì)話框提示接下來(lái)將做些什么。單擊“Next”按鈕,會(huì)并列顯示兩個(gè)代碼片段,可以查看到Xcode對(duì)哪些代碼進(jìn)行了修改。單擊“Save”按鈕,保存這些修改,如圖13.20所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

同時(shí),Xcode還會(huì)修改HelloWorld項(xiàng)目中的設(shè)置信息,使項(xiàng)目支持Objective-C ARC(自動(dòng)引用計(jì)數(shù))?,F(xiàn)在,代碼就會(huì)以支持ARC的方式編譯和運(yùn)行了,如圖13.21所示。

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)

提示:

 瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)


本文名稱:瘋狂ios講義之創(chuàng)建cocos2d項(xiàng)目(2)
URL鏈接:http://weahome.cn/article/jooopj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部