iOS Universal App问题

时间:2011-06-10 07:36:05

标签: iphone objective-c ipad universal-binary

我已将我的iPad应用程序提交给苹果并获得批准。现在,我想在App上添加iPhone支持。

我的问题1是:

Q1。是否有可能在提交后的这个时刻使应用程序具有普遍性?

如果是,我的问题是第2号。

Q2。我的iPhone应用程序与iPad完全相同,但由于屏幕尺寸的自定义,只有少数视图具有不同的外观。我应该如何在XCode中指定iPhone / iPad分别使用哪个类?当我将它们分成2个项目时,我可以顺利地构建它们。

谢谢。

5 个答案:

答案 0 :(得分:0)

您可以修改同一个应用程序并添加对其他设备的支持。你需要重新提交申请。

在代码中,您可以检测它正在执行的设备类型,并根据您可以为每个视图控制器加载适当的XiB文件。

答案 1 :(得分:0)

Q1 - 是的......您需要升级iPhone的目标。 &安培;提交到appStore作为通用App。

问2.您可以使用Question about UIWebview and Universal Application

的答案将Xib加载到特定设备

答案 2 :(得分:0)

是的。这很容易。你必须创建通用应用

文件---> newproject - >基于Windows的应用程序

然后选择产品类型通用您有一个单独的iphone视图以及
ipad

答案 3 :(得分:0)

您可以使用此

识别设备
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // iPad stuff
  }
  else {
    // iPhone/iPod stuff
  }

大多数UI内容都可以使用自动调整参数重做,但有些则不行。

对于iPhone / iPod中不存在的特定类(如UISplitViewController),您可以使用 NSClassFromString ,如果无法加载,将返回对象类或nil

答案 4 :(得分:0)

Q1:是的,只需将您的项目转换为通用项目并使用相同的ID提交。

第二季度:非常简单,按照here的步骤(http://useyourloaf.com/blog/2010/4/7/converting-to-a-universal-app-part)将您的项目转化为通用项目-i.html)。基本思想是从控制器中提取业务逻辑,并为iPhone和iPad使用不同的控制器。不要尝试使用类似

的代码块来实现它
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
     // ipad goes here
}
else
{
     // other
}

请注意: 如果你google它,你会发现这个链接,不要使用它,它已经过时了 - http://iphonedevelopment.blogspot.com/2010/04/converting-iphone-apps-to-universal.html