標籤:cocos2d-x3.1 ios8 ipa
據說iOS8需要使用XCode6.1打包,因為還未升級,暫時研究了幾天,先把筆記整理下,以備以後使用方便,由於本人沒有iphone,沒有蘋果企業認證,所有的東西都是東拼西湊的,所以打包成的ipa沒有真機測試。如果失敗,那隻有再研究了。
因為需要升級之前3.1工程的項目支援iOS8,這兩天暫時研究了一下ipa的打包(之前都是別人弄的,第一次自己打包,還是很費勁)所有,就有了這篇文章,如果可能,讓大家少走彎路,把時間儘可能多得放在寫代碼上,不過還得吐槽一下:蘋果搞這一套真是費事費力。
1、問題1:3.1工程暫時不支援iOS8因為3.1的時候iOS8還未發布,所以,3.1尚不支援iOS8,由於iOS8底層做了部分改動,可能在編譯3.1工程到模擬器或真機上時會遇到這篇文章中的問題,可參考這篇文章解決。2、問題2:如何用企業認證打包成ipa由於本人為註冊蘋果開發人員,企業帳號也是之前朋友給的,所以,這裡打包ipa可能步驟不是很正規,且沒有經過真機測試1)首先,擷取認證和mobileprovision檔案認證需要雙擊,輸入認證的密碼,然後匯入Mac下的工具,如:
2)開啟工程,匯入認證打擊XCode左側列表的工程名,顯示下面的介面,我們選擇TARGETS下的XXX iOS,找到Code Signing下的Code Signing Identity
在第一步上面,將active scheme設定為iOS Device,只要選擇它才可以打包第四步是匯入mobileprovision第五步是匯入認證,經過上面2步,我們開啟中的General,如所示
1、是包名2、持有是企業認證的team3、是mobileprovision的名稱4、該認證對應的包名問題就在第4步,認證與包名不符,那麼,怎麼解決,如果這個企業認證是你的,那麼點Fix Issue重新簽名一個認證就好了,如果不是,那麼只能重新建立工程了。3)重新建立與認證對應的包名工程,重複1)和2)再次開啟General發現包名還是不對,因為XCode使用的包名是動態變數給賦值的,所以,我們直接修改就好了(不知道上一步直接修改包名好不好使,沒試過,有興趣的可以試試)。這個時候,需要開啟Info對應下的頁面,直接修改Bundle identifier內容即可
可能只需要修改最後面的就可以了,不過,我使用的時候,後面預設有個-iOS灰色的,所以需要修改Bundle identifier,沒有遇到這個問題的可以不用該,如果不懂的參考這裡。修改完了包名和匯入認證,完事具備,那就開始打包吧!4)修改Edit scheme為release
1、選擇Edit scheme,並且後面的平台選擇iOS Device2、Build Configuration為Release5)選擇Product->Archive(必要的話,可以clean下工程)接下來就是漫長的編譯過程,在此過程中可能還會遇到不支援arm64解決方案,部分錯誤碼如下:
Undefined symbols for architecture arm64: "_WebPGetFeaturesInternal", referenced from: WebPGetFeatures(unsigned char const*, unsigned long, WebPBitstreamFeatures*) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_WebPInitDecoderConfigInternal", referenced from: WebPInitDecoderConfig(WebPDecoderConfig*) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_get_io_ptr", referenced from:
解決辦法是開啟工程目錄,找到cocos2d/external,在此目錄下搜尋_arm64.a的檔案,然後將搜尋到的檔案拖到XCode工程目錄的FrameWorks中去,彈出的對話方塊選擇Copy items if needed和Create groups兩個選項;可參考這裡6)重新clean執行Archive如果順利的話,XCode已經幫我們產生了下面的xxx.xcarchive檔案,還是那句話,如果你是企業認證持有人或者team成員,直接選擇匯出即可,如果不是,那隻有另尋它路了。cocoschina上找到一個方法,我就是按照這個方法做的,所以,不確定此法是不是好用。
這個頁面也可以通過XCode標題列的Window->Organizer找到。中,就可以看到我們的xxx.xcarchive檔案了,可以選擇Export匯出ipa,這需要重新認證一下cocoschina上的做法是:1、右擊產生的Archive檔案,即“name”下面那些檔案,選擇Show in Finder2、右擊xxx.xcarchive檔案,顯示包內容,找到真正的xxx.app3、將xxx.app拖到itunes中,此時就會在iTunes目錄下產生ipa檔案了4、在iTunes中右擊我們拖進去的xxx.app,在Finder中顯示,找到了產生的ipa檔案了就。3、總結以上方法的可行性由於沒有真機測試,暫時無法獲得證實,不過步驟1-5都是總結網上的教程而成。參考資料:1)http://blog.csdn.net/yuxikuo_1/article/details/412788572)http://blog.csdn.net/justinjing0612/article/details/87586923)http://www.58player.com/blog-2527-123901.html4)http://www.cocoachina.com/bbs/read.php?tid=234530
本人菜鳥一枚,以上方法可能並不正規,僅以總結學習過程記錄。如有更好的方法,歡迎交流。
使用XCode6.0.1將Cocos2d-x3.1工程打包ipa(支援iOS8)