2

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

我的问题 1 是:

Q1。提交后是否可以在此时使应用程序通用?

如果是,我有问题 2

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

谢谢你。

4

4 回答 4

0

您可以使用此识别设备

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // iPad stuff
  }
  else {
    // iPhone/iPod stuff
  }

大多数 UI 内容都可以通过自动调整参数来重做,但有些则不能。

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

于 2011-06-10T08:45:44.867 回答
0

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

从您的代码中,您可以检测它在哪种类型的设备上执行,并基于此为每个视图控制器加载适当的 XiB 文件。

于 2011-06-10T07:43:20.303 回答
0

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

文件--->新项目-->基于Windows的应用程序

然后你选择产品类型Universal 你有一个单独的 iphone 和
ipad视图

于 2011-06-10T08:13:14.080 回答
0

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

Q2:相当简单,按照此处的步骤将您的项目转换为通用的(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
}

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

于 2011-06-11T09:27:17.237 回答