通用应用程序中的UISplitViewController子类

Sal*_*uts 2 iphone ipad uisplitviewcontroller

我正在构建一个使用UISplitViewController用于iPad的通用应用程序,并且应该可以在任何3.0设备上工作,例如第一代iPhone/iPod touch.麻烦的是,尽管我在iPhone上运行应用程序时实际上并没有创建任何UISplitViewController实例,但我仍然感到害怕

dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController
  Referenced from: /var/mobile/Applications/.....
  Expected in: /System/Library/Frameworks/UIKit.framework/UIKit
Run Code Online (Sandbox Code Playgroud)

试图在第一代iPod touch上运行时控制台出错.但是在iOS 4设备上一切正常.我猜测问题是我已经将UISplitViewController子类化了,并且当从.h文件中读取"@interface SplitControl:UISplitViewController {"行时它会发出扼流圈.

我将其子类化的唯一原因是覆盖shouldAutorotateToInterfaceOrientation方法.我正在以编程方式完成我的整个应用程序而没有IB.如果我使用IB创建SplitViewController并告诉它支持所有方向,它会有帮助吗?

有没有办法覆盖shouldAutorotateToInterfaceOrientation而无需继承控制器?从3.2之前的设备隐藏UISplitViewController的任何其他方法?

Sal*_*uts 6

您需要做的就是微弱地链接UIKit.framework.在目标的常规设置中,在"链接库"列表中,将UIKit.framework的类型更改为"Weak"而不是"Required".