将helpshift添加到应用程序会导致UIApplicationInvalidInterfaceOrientation异常

时间:2012-12-22 03:09:24

标签: iphone objective-c ios exception orientation

我最近一直尝试使用helpshift但是我发现它导致异常。

例外情况是说我已经自动返回yes但是我没有在我的任何代码中实现此方法,根据我的理解,这意味着它被设置为NO。

如果我向我的应用程序添加不同的方向,当我的iphone未定位于横向时,它会自动将其设置为横向。

  

由于未捕获的异常而终止应用   'UIApplicationInvalidInterfaceOrientation',原因:'支持   方向与应用程序没有共同的方向,并且   shouldAutorotate正在返回YES'    * 第一次抛出调用堆栈:(0x36b0d3e7 0x33545963 0x36b0d307 0x37922857 0x37ac6f21 0x37964c8b 0x37a88f73 0x37912761 0x378bacef   0x378ba77d 0x378ba1bf 0x30d9f5f7 0x30d9f227 0x36ae23e7 0x36ae238b   0x36ae120f 0x36a5423d 0x36a540c9 0x37911445 0x3790e291 0x79d95   0x79d30)libc ++ abi.dylib:terminate调用抛出异常

除了helpshift API,我还需要添加以下框架:

  • CoreGraphics中
  • QuartzCore(已添加并正常工作)
  • SystemConfiguration(已添加并正常工作)
  • MobileCoreServices
  • OpenGLES
  • CoreTelephony
  • 安全
  • 粉底

如果不包含帮助提取,该应用程序将按预期工作。以上任何一个框架是否会导致我应该打击的帮助转移问题?设置是否可能不正确?由于帮助转移是这样一个新产品,帮助尚未完全存在

2 个答案:

答案 0 :(得分:1)

该异常表示根视图控制器的-supportedInterfaceOrientations返回的方向集与Info.plist中定义的受支持的接口方向相交,产生空集。

答案 1 :(得分:1)

我在Helpshift SDK中遇到了同样的问题。它在1.3.1版本上运行良好,但是当我升级到1.3.4时,我的应用程序停止运行UIApplicationInvalidInterfaceOrientation错误。除了Helpshift升级之外没有其他任何变化,我通过降级到1.3.1(应用程序再次运行)然后再次升级到1.3.4(应用程序再次崩溃)确认了它。我可以通过将以下内容添加到应用程序委托来运行我的应用程序:

-(NSUInteger)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window{
     return UIInterfaceOrientationMaskAll;
}

使用UIInterfaceOrientationMaskPortrait会导致崩溃。由于我需要我的应用程序保持纵向,我将以下内容添加到我的UITabBarController子类中:

-(BOOL)shouldAutorotate{
     return NO;
}