0

我正在开发一个通用应用程序,我在做 iPad 应用程序时使用了 UISplitViewController。我遵循通用应用程序指南,即,我将基本 SDK 保持为 3.2,iPhone Target OS 广告 iPhone OS 3.1.3,Tget 设备作为 iPhone/iPad。我为 UISplitViewController 和 UIPopOverController 使用了“为新符号添加运行时检查”。

Class splitVCClass = NSClassFromString(@"UISplitViewController");

if (splitVC)

{

   UISplitViewController* mySplitViewController = [[splitVCClass alloc] init];

   // Configure the split view controller.

}

我在 .m 文件中使用了它 我也在 .h 文件中声明了 UIPopOverController

“dyld:找不到符号:_OBJC_CLASS_$_UIPopoverController 引用自:/var/mobile/Applications/9E0CE75F-D2A9-4132-AE56-1780928BCF21/UniversalTask​​s.app/UniversalTask​​s 预期在:/System/Library/Frameworks/UIKit.framework/UIKit在 /var/mobile/Applications/9E0CE75F-D2A9-4132-AE56-1780928BCF21/UniversalTask​​s.app/UniversalTask​​s"

我必须做的任何人都可以帮助我

4

2 回答 2

6

我不完全确定,但也许这会有所帮助:

Class classPopoverController = NSClassFromString(@"UIPopoverController");
if (classPopoverController)
{
  id popover = [[classPopoverController alloc] initWithContentViewController:imgPicker];

  [popover presentPopoverFromRect:CGRectMake(0, 0, popoverParent.frame.size.width, 80) 
    inView:popoverParent permittedArrowDirections:(1UL << 0) animated:YES];
}

基本上你需要用“id”替换“UIPopoverController *”,因为这个符号在早期的SDK中没有定义。

于 2010-03-31T07:24:53.100 回答
0

正确答案在这里:Symbol not found: _OBJC_CLASS_$_UIPopoverController

首先,您必须接受原始海报的隐含说明:将所有仅限 iPad 的代码(弹出框等)移动到 iPad 子类等中。然后按照最终答案。

于 2010-08-14T01:32:49.500 回答