- 本帖最后由 leitwolf 于 2012-9-20 20:36 编辑 *
今天刚升级Xcode到最新的4.5版本,相应的模拟器也为ios6的模拟器,但发现程序只能是竖直方向的了,这在升级之前的ios5.1模拟器上是没问题的。
在RootViewController.mm 中修改方向也没什么作用。
ipod touch4上没有问题,系统为5.1。
正在下载5.1的模拟器下来看看情况。。。
今天刚升级Xcode到最新的4.5版本,相应的模拟器也为ios6的模拟器,但发现程序只能是竖直方向的了,这在升级之前的ios5.1模拟器上是没问题的。
在RootViewController.mm 中修改方向也没什么作用。
ipod touch4上没有问题,系统为5.1。
正在下载5.1的模拟器下来看看情况。。。
— Begin quote from ____
zero_sys 发表于 2012-9-25 15:08 url
后遗症就是,如果别人用iOS 5.1的SDK编译这份代码,supportedInterfaceOrientations里面的UIInterfaceOri …
— End quote
我目前是个人开发,所以不用考虑这个问题,呵
另外官方现在的版本已经修补好这个问题了
— Begin quote from ____
leitwolf 发表于 2012-9-20 21:09 url
在英文论坛上搜索了下,已经有人解决了,方法如下:
在ios/AppController.mm的第44行替换成这样:然后在Roo …
— End quote
后遗症就是,如果别人用iOS 5.1的SDK编译这份代码,supportedInterfaceOrientations里面的UIInterfaceOrientationMaskLandsape会报未定义错误,其实supportedInterfaceOrientations和shouldAutorotate不加也行的,只需要在项目设置那里把两个Landscape方向都选上就可以,这样做的实质上也就是在info.plist上面添加字段而已
— Begin quote from ____
leitwolf 发表于 2012-9-20 21:13 url
另外发现两个问题:
1,在ios6中会经常在控制台出现这样的调试信息。
2,iphone5(4寸1136*640)的信息还是: …
— End quote
因为viewport还是处于480*320状态,相信要更改viewport才能完全适应iphone5屏幕
在英文论坛上搜索了下,已经有人解决了,方法如下:
在ios/AppController.mm的第44行替换成这样:
NSString *reqSysVer = @"6.0";
NSString *currSysVer = systemVersion];
if ( != NSOrderedAscending)
{
; //iOS 6
} else {
; //iOS 5 or less
}
// ;
然后在RootViewController.mm中加上两个方法:
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate
{
return YES;
}
这样就可以得到横向的游戏了,不过就不知道有没有什么后遗症了。
另外发现两个问题:
1,在ios6中会经常在控制台出现
Cocos2d: textRangeFromPosition
Cocos2d: textInRange
Cocos2d: textRangeFromPosition
Cocos2d: textInRange
这样的调试信息。
2,iphone5(4寸1136*640)的信息还是:
cocos2d: surface size: 480x320