评论

收藏

【Cocos2d-X】iOS6 中 libcurl.a及iOS6中无法横屏的解决方法

游戏开发 游戏开发 发布于:2021-06-27 15:18 | 阅读数:459 | 评论:0

本站文章均为
李华明Himi
原创,转载务必在明显处注明:

转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2dx/1000.html

  ☞ 点击订阅 ☜
本博客最新动态!及时将最新博文通知您!


iOS6 与 iphone5 已经发布一段时间了,那么对于cocos2dx在昨天发布的最新支持的Cocos2d-2.0-x-2.0.3 released版本之前的版本跑在iOS6中会出现两个问题(Himi 都已iphone5 真机调试验证并解决)
首先对于 libcurl.a 无法通过armv7s编译的问题给出解决方案:
下载最新的Cocos2d-2.0-x-2.0.3引擎包,然后找到已经支持armv7s的libcurl.a的文件,路径如下:http://cocos2d-2.0-x-2.0.3/cocos2dx/platform/third_party/ios/libraries/libcurl.a
将其替换你项目的旧libcurl.a即可。
对于iOS6中无法正常游戏横屏的解决方案如下:
1.首先在你项目根目录的ios/AppController.mm 类找到如下代码:

[cpp] view plaincopy  http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf
       
  • // Set RootViewController to window     
  • [window addSubview: viewController.view];  


将其替换成如下代码:
  [cpp] view plaincopy
  http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf
       
  • // Set RootViewController to window     
  • if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)     
  • {     
  •      // warning: addSubView doesn't work on iOS6     
  •      [window addSubview: viewController.view];     
  • }     
  • else     
  • {     
  •      // use this mehod on ios6     
  •     [window setRootViewController:viewController];     
  • }  


2. 然后在你项目根目录的 ios/RootViewController.mm文件中添加如下两个函数:
  [cpp] view plaincopy
  http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf
       
  • - (NSUInteger) supportedInterfaceOrientations{     
  •     return UIInterfaceOrientationMaskLandscape;     
  • }     
  •       
  • - (BOOL) shouldAutorotate {     
  •     return YES;     
  • }  


OK,问题解决。
官方在昨天已经发布的最新的Cocos2d-2.0-x-2.0.3 released版本,已经解决如上问题,针对ios6 和iphone5的。
如果还有项目报错,要检查是否因为第三方SDK类库造成,毕竟iOS6的更新带来各大第三方库的更新。