使用XCode6.0.1将Cocos2d-x3.1工程打包ipa(支持iOS8)

据说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、持有是企业证书的team

3、是mobileprovision的名称

4、该证书对应的包名

问题就在第4步,证书与包名不符,那么,怎么解决,如果这个企业证书是你的,那么点Fix  Issue重新签名一个证书就好了,如果不是,那么只能重新创建工程了。

3)重新创建与证书对应的包名工程,重复1)和2)

再次打开General发现包名还是不对,因为XCode使用的包名是动态变量给赋值的,所以,我们直接修改就好了(不知道上一步直接修改包名好不好使,没试过,有兴趣的可以试试)。这个时候,需要打开上图Info对应下的页面,直接修改Bundle  identifier内容即可

可能只需要修改最后面的就可以了,不过,我使用的时候,后面默认有个-iOS灰色的,所以需要修改Bundle  identifier,没有遇到这个问题的可以不用该,如果不懂的参考这里

修改完了包名和导入证书,完事具备,那就开始打包吧!

4)修改Edit  scheme为release

1、选择Edit  scheme,并且后面的平台选择iOS  Device

2、Build  Configuration为Release

5)选择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  Finder

2、右击xxx.xcarchive文件,显示包内容,找到真正的xxx.app

3、将xxx.app拖到itunes中,此时就会在iTunes目录下生成ipa文件了

4、在iTunes中右击我们拖进去的xxx.app,在Finder中显示,找到了生成的ipa文件了就。

3、总结

以上方法的可行性由于没有真机测试,暂时无法获得证实,不过步骤1-5都是总结网上的教程而成。

参考资料:

1)http://blog.csdn.net/yuxikuo_1/article/details/41278857

2)http://blog.csdn.net/justinjing0612/article/details/8758692

3)http://www.58player.com/blog-2527-123901.html

4)http://www.cocoachina.com/bbs/read.php?tid=234530

本人菜鸟一枚,以上方法可能并不正规,仅以总结学习过程记录。如有更好的方法,欢迎交流。

时间: 2024-10-10 02:01:24

使用XCode6.0.1将Cocos2d-x3.1工程打包ipa(支持iOS8)的相关文章

xcode6.0 模拟器打不开

  只要设置下这个就行了 本来以为虚拟机的问题  都把虚拟机从新安装了 杯具啊 xcode6.0 模拟器打不开,布布扣,bubuko.com

iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)

参考:http://mobile.51cto.com/iphone-455500.htm XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效) 前提:设备已经越狱 目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊! 目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年

XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)

目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊!!! 作为刚开始学习iOS编程的菜鸟,这么大手笔花钱实在是肉疼...经过一番折腾,借鉴各种大神的帖子,终于成功在真机上编译运行成功!免费的哦! 这里将方法与大家分享. 我的运行环境是:[电脑]XCode6.0.1 + OS X 10.9.5  [真机iPod Touch]iOS6.1 准备工作: 1. 首先,你要有一个已经越狱的iPho

Xcode6.0 解决无法输入中文的办法.

使用Xcode6.0模拟器不能在textField里面输入中文,也切换不过来,模拟器也添加了中文键盘,还是不能切换键盘输入中文. 解决办法:选中Xcode →product → scheme → Edit scheme → run → options → application Region 选项改为"中国"然后就可以输入中文了

XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)[转]

目前在XCode上开发的iOS程序只能在模拟器Simulator中运行,如果要放到真机上测试,需要苹果官方认证的开发者账号,购买开发者证书iDP,99美金一年啊!!! 作为刚开始学习iOS编程的菜鸟,这么大手笔花钱实在是肉疼...经过一番折腾,借鉴各种大神的帖子,终于成功在真机上编译运行成功!免费的哦! 这里将方法与大家分享. 我的运行环境是:[电脑]XCode6.0.1 + OS X 10.9.5  [真机iPod Touch]iOS6.1 准备工作: 1. 首先,你要有一个已经越狱的iPho

xcode8让真机测试支持ios8.0以下版本

xcode8支持ios8以下真机测试方法: 1.应用程序-xcode 显示包内容-Contents-Developer-Platforms-iPhoneOS.platform-DeviceSupport 把里边 6.0 6.1 7.0 7.1 的文件夹粘贴到xcode8 对应的文件夹内 2.应用程序-xcode 显示包内容-Contents-Developer-Platforms-iPhoneOS.platform-Developer-SDKs-iPhoneOS.sdk-SDKSettings.

Xcode6 打包ipa真机测试

我们在用Xcode打包ipa进行真机测试的时候,突然发现明明选择了在AppStore上的证书和描述文件,但是在导出的时候就不一样了,还找不到自己制作的那个证书, 查阅资料发现给出的是这样的解释: 在xcode6中, 必须去申请 ad hoc的 distribution的证书, 才能在打ad hoc包时,选择这个证书,否则,推送的时候,使用sanbox中的development证书,是没法推送.猜测的原因, 估计是xcode6中把 测试apns 的权限收紧了吧,不过想想也是, 你既然大ad hoc

解决VC++6.0 无法打开、无法添加工程文件

在windows系统下,经常会遇到这样的问题:点击VC++6.0 的[文件]下的[打开]无法操作,并且无法向工程添加文件,下面详细介绍一下解决方案? 工具/原料 VC++6.0 修复工具:FileTool.exe 方法/步骤 1 下载FileTool.压缩包后,解压得到FileTool.exe,双击FileTool.exe文件再次解压,指定解压路径E:\filetool\,解压后到目录E:\filetool\下有个文件:FileTool.dsw文件. 2 打开VC++6.0,点击[文件],[打开

高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)

Cocos2d (v.3.0) rendering pipeline roadmap Why (the vision) The way currently Cocos2d does rendering is good but it is beginning to feel somehow antiquate and moreover it doesn't actually leverage modern multi core CPUs so popular nowadays on most mo