使用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解决方案,部分错误码如下:
[plain]  view plain  copy
 
  在CODE上查看代码片 派生到我的代码片
  1. Undefined symbols for architecture arm64:  
  2.           "_WebPGetFeaturesInternal", referenced from:  
  3.               WebPGetFeatures(unsigned char const*, unsigned long, WebPBitstreamFeatures*) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o)  
  4.           "_WebPInitDecoderConfigInternal", referenced from:  
  5.               WebPInitDecoderConfig(WebPDecoderConfig*) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o)  
  6.           "_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

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

----------------2014年11月21日17:11---------------------
真机测试打包的ipa却是可以安装上,但是不知运行过程中是否还会有其他问题。待观察。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(译)cocos2d里面如何用texture picker和像素格式来优化spritesheet.pdf (译)在cocos2d里如何制作各种按钮.pdf (译)如何使用cocos2d制作基于tilemap的游戏教程 第一部分.pdf (译)如何在cocos2d里面使用动画和spritesheet.pdf (译)如何用cocos2d制作iphone游戏:旋转炮塔.pdf (译)如何用cocos2d制作iphone游戏:更猛的怪物和更多得管卡.pdf (译)如何使用cocos2d制作一个Slide Image Game:第一部分.pdf (译)如何使用cocos2d来制作一个塔防游戏:第一部分.pdf cocos2d 2.0 添加遮罩.pdf iOS Code Signing解惑.pdf iPhone上面的现实增强(Augmented Reality)入门教程.pdf OpenGL ES2.0 – Iphone开发指引.pdf OpenGLES2.0 Iphone开发指引:第二部分,纹理贴图.pdf 使用cocos2d和box2d制作滚动背景.pdf 加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分.pdf 在cocos2d里面如何使用物理引擎box2d:弹球.pdf 在cocos2d里面如何拖拽精灵.pdf 如何使用box2d来做碰撞检测(且仅用来做碰撞检测).pdf 如何使用CCRenderTexture来创建动态纹理.pdf 如何使用cocos2d1.0来给sprite添加Mask(遮罩).pdf 如何使用cocos2d制作一个塔防游戏:引子.pdf 如何使用cocos2d制作一个太空射击游戏.pdf 如何使用cocos2d制作一个打地鼠的游戏:(第二部分。完).pdf 如何使用cocos2d和box2d来制作一个Breakout游戏:第一部分.pdf 如何使用cocos2d和box2d来制作一个Breakout游戏:第二部分(完).pdf 如何使用cocos2d来制作一个打地鼠的游戏:第一部分.pdf 如何使用GameCenter制作一个简单的多人游戏教程:第一部分.pdf 如何使用GameCenter制作一个简单的多人游戏教程:第二部分.pdf 如何使用NSCoding和NSFileManager来保存你的应用程序数据.pdf 如何制作一个类似tiny wings的游戏:第一部分.pdf 如何制作一个类似tiny wings的游戏:第二部分(完).pdf 如何升级你的cocos2d版本.pdf 如何学好Iphone开发.pdf 如何查找资料.pdf 碰撞检测和收集物品:如何使用cocos2d制作基于tiled地图的游戏:第二部分.pdf (译)cocos2d精灵教程:第一部分.pdf (译)cocos2d精灵教程:第三部分.pdf (译)cocos2d精灵教程:第二部分.pdf (译)cocos2d菜单教程:第一部分.pdf (译)cocos2d菜单教程:第三部分(完).pdf (译)cocos2d菜单教程:第二部分.pdf (译)使用cocos2d和box2d来制作一个platformer游戏.pdf (译)如何使用cocos2d制作一个塔防游戏:第三部分.pdf (译)如何使用cocos2d制作一个塔防游戏:第二部分.pdf (译)如何使用cocos2d制作一个塔防游戏:第四部分(完).pdf (译)如何使用cocos2d制作一个滑动图片游戏教程:第二部分(完).pdf (译)如何用cocos2d制作一款简单的iphone游戏(第一部分).pdf

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值