Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 通用应用程序中的UISplitViewController子类_Iphone_Ipad_Uisplitviewcontroller - Fatal编程技术网

Iphone 通用应用程序中的UISplitViewController子类

Iphone 通用应用程序中的UISplitViewController子类,iphone,ipad,uisplitviewcontroller,Iphone,Ipad,Uisplitviewcontroller,我正在构建一个通用应用程序,它在iPad上使用UISplitViewController,并且应该可以在任何3.0设备上运行,比如第一代iPhone/iPodtouch。问题是,尽管在iPhone上运行应用程序时,我并没有实际创建任何UISplitViewController实例,但我仍然感到害怕 dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController Referenced from: /var/mobile/Applicati

我正在构建一个通用应用程序,它在iPad上使用UISplitViewController,并且应该可以在任何3.0设备上运行,比如第一代iPhone/iPodtouch。问题是,尽管在iPhone上运行应用程序时,我并没有实际创建任何UISplitViewController实例,但我仍然感到害怕

dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController
  Referenced from: /var/mobile/Applications/.....
  Expected in: /System/Library/Frameworks/UIKit.framework/UIKit
尝试在第1代iPod touch上运行时控制台出现错误。不过,在iOS 4设备上一切正常。我猜问题是我已经将UISplitViewController子类化了,当从.h文件中读取“@interface SplitControl:UISplitViewController{”行时,它会阻塞

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


有没有一种方法可以覆盖shouldAutorotateToInterfaceOrientation而不将控制器子类化?有没有其他方法可以从3.2之前的设备中隐藏UIPlitViewController?

您需要做的就是弱链接UIKit.framework。在目标的常规设置中,在“链接库”列表中将UIKit.framework的类型更改为“弱”而不是“必需的”。

我是根据基本SDK 4.0构建的,所以像“#if"IPHONE"OS"VERSION"MAX"ALLOWED>=30200”这样的宏没有帮助。我需要在运行时解决这个问题,而不是在编译时。