解决iphone5s,iphone6不能使用luajit及luac的问题

做手游有小段时间了,感觉坤哥给这么多的机会。
一直都比较忙项目的事,比较没时间去写点东西做点记录。
想想还是写点开发问题记录比较好,可以很简短,也可以很有用。

我们项目采用的cocos2d-x的引擎,之前听说luajit可以用来加密并预编译lua的代码,用用了也觉得挺不错的
后面也用过luac去编译过,至于luajit跟luac谁会好一点呢,这里暂不去深究

一开始是打算先出android项目包的,公司进了10几台android手机出来测试都是没有问题的,除了华为那台700来块钱的手机会偶尔闪退。
android这一块还算是ok的,至少代码加密了。

但最近两个星期说要出ios的版本,就开始学学打包ios的版本,打包还是挺好弄的,弄个证书,加加设备号就可以安装或调试了。
在这里建议一下,别省那点证书的钱,虽然,钱不是我出的。哈。
网上有个免费证书的制作方法的,上次可能因为我刚刚接触mac不久,所以按着教程去搞完之后,再出编不出来ios来了,反而弄巧成拙。
如果开发阶段实在不想去买证书的话,可以去万能的淘宝上淘个开发者证书。10多块钱就可以搞完你的真机调试问题。

继续说ios的问题,打了个ios包,我们项目用的是cocos2dx-x3.0rc版,不知道前面2.x的版本能不能打出给ios4.3用的版本,但我们现在打包的包,设备上必须得ios5.0以上才能安装。
拿去各个机器上安装,iphone4,iphone4s,iphone5都没有问题
但是iphone5s就跑不了了,估计今天要出的iphone6也会有相同的问题。
报的错很明显就是读取lua文件报错。
找了很多资料都没有解决,最后问了别的公司,有上线项目的朋友,一开始他们介绍用luac,折腾了好久,发现luac可以用了,但是,64的位ios也同样会有运行不了的问题。
最后发现解决的办法其实也很简单,cocos2d-x论坛已经有人提出了解决的办法,那就是不要编译64位的ios发布,只编译32位的,让iphone5s强制跑32位的运行包就可以了。
修改的方法是改项目配置里的build settings->Architectures->Valid architectures->armv7
留一个就可以了。

posted @ 2014-09-09 01:21  yans  阅读(3833)  评论(0编辑  收藏  举报