为iPhone SDK 3.2准备通用应用程序

时间:2010-03-26 04:41:04

标签: iphone universal

我正在开发一个通用应用程序,我在做iPad应用程序时使用了UISplitViewController。我遵循通用应用程序指南,即我将基本SDK保持为3.2,iPhone目标操作系统广告iPhone OS 3.1.3,Taget设备保持为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“

我必须做的事情可以让任何人帮助我

2 个答案:

答案 0 :(得分: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中没有定义这个符号。

答案 1 :(得分:0)

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

首先,您必须采用原始海报的隐含说明:将所有仅限iPad的代码(弹出式窗口等)移至iPad子类等。然后按照最终答案进行操作。