简体   繁体   English

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

[英]Preparing a Universal App for iPhone SDK 3.2

I am working on a universal app, I used UISplitViewController in doing iPad application. 我正在开发通用应用程序,在做iPad应用程序时使用了UISplitViewController。 I followed the Universal app guidelines ie, i keep base SDK as 3.2, iPhone Target OS ad iPhone OS 3.1.3, Taget device as iPhone/iPad. 我遵循通用应用指南,即我将基本SDK保持为3.2,将iPhone Target OS和iPhone OS 3.1.3保持不变,将Taget设备保持为iPhone / iPad。 And i used "Adding Runtime Checks for Newer Symbols" for UISplitViewController and UIPopOverController. 我为UISplitViewController和UIPopOverController使用了“为新符号添加运行时检查”。

Class splitVCClass = NSClassFromString(@"UISplitViewController");

if (splitVC)

{

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

   // Configure the split view controller.

}

I used this in .m files I declared UIPopOverController in .h files also 我在.m文件中使用了此文件,也在.h文件中声明了UIPopOverController

"dyld: Symbol not found: _OBJC_CLASS_$_UIPopoverController Referenced from: /var/mobile/Applications/9E0CE75F-D2A9-4132-AE56-1780928BCF21/UniversalTasks.app/UniversalTasks Expected in: /System/Library/Frameworks/UIKit.framework/UIKit in /var/mobile/Applications/9E0CE75F-D2A9-4132-AE56-1780928BCF21/UniversalTasks.app/UniversalTasks" “ 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“

What i have to do can any one help me out 我必须做的事可以帮助我

I am not entirely sure, but maybe this can help: 我不确定,但这也许可以帮助您:

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];
}

Basically you need to replace "UIPopoverController *" with "id", because this symbol is not defined in earlier SDK. 基本上,您需要将“ UIPopoverController *”替换为“ id”,因为此符号未在早期的SDK中定义。

The correct answer is here: Symbol not found: _OBJC_CLASS_$_UIPopoverController 正确的答案在这里: 找不到符号:_OBJC_CLASS _ $ _ UIPopoverController

First you must take the original poster's implicit instructions: move all your iPad-only code (popovers etc) into iPad subclasses etc. Then follow the final answer. 首先,您必须遵循原始海报的隐含说明:将所有仅iPad的代码(弹出窗口等)移到iPad子类等中,然后遵循最终答案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM