Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation'

转载地址:http://code4app.com/requirement/5074e36b6803fa8445000000

ios6.0,程序为横屏,出现闪退 
*** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES' 
*** First throw call stack: 
(0x1c8d012 0x10cae7e 0x1c8cdeb 0xff702 0xff72e 0xffd6d 0xf6caf 0x108790 0x5f25e 0x5f05d 0x5f05d 0x5a5e6 0x60af4 0x58eed 0x4dfc4b 0x29f0 0x10de705 0x15920 0x158b8 0xd6671 0xd6bcf 0xd5d38 0x4533f 0x45552 0x233aa 0x14cf8 0x1be8df9 0x1be8ad0 0x1c02bf5 0x1c02962 0x1c33bb6 0x1c32f44 0x1c32e1b 0x1be77e3 0x1be7668 0x1265c 0x21bd 0x20e5) 
libc++abi.dylib: terminate called throwing an exception



解决的办法:
在supported Interface Orientations选中landscapeLeft和LandscapeRight(不选中的话在iOS5.0下第一次运行会竖屏) 
在appdelegate添加 
#if __IPAD_OS_VERSION_MAX_ALLOWED >= __IPAD_6_0 

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 
{ 

return UIInterfaceOrientationMaskAll; 


} 
#endif 

在该viewController和上一层的viewController中添加 
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 

return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight ); 

} 

-(NSUInteger)supportedInterfaceOrientations{ 
return UIInterfaceOrientationMaskLandscape; 
} 

- (BOOL)shouldAutorotate 
{ 
return YES; 
} 

原因分析: 是因为UIImagePickerController是竖屏的,而ipad是横屏的,在ios6.0的横竖屏的问题比较敏感,所以在会挂的。

与此有关的问题的解决,请查看   http://blog.csdn.net/tangaowen/article/details/8292704 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值