我已将我的 iPad 应用程序提交给苹果并获得批准。现在,我想将 iPhone 支持添加到应用程序。
我的问题 1 是:
Q1。提交后是否可以在此时使应用程序通用?
如果是,我有问题 2
Q2。我的 iPhone 应用程序与 iPad 完全相同,但由于屏幕尺寸的自定义,只有少数视图具有不同的外观。我应该在 XCode 中做什么来指定 iPhone/iPad 分别使用哪个类?当我将它们分成 2 个项目时,我可以顺利地构建它们。
谢谢你。
我已将我的 iPad 应用程序提交给苹果并获得批准。现在,我想将 iPhone 支持添加到应用程序。
我的问题 1 是:
Q1。提交后是否可以在此时使应用程序通用?
如果是,我有问题 2
Q2。我的 iPhone 应用程序与 iPad 完全相同,但由于屏幕尺寸的自定义,只有少数视图具有不同的外观。我应该在 XCode 中做什么来指定 iPhone/iPad 分别使用哪个类?当我将它们分成 2 个项目时,我可以顺利地构建它们。
谢谢你。
您可以使用此识别设备
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// iPad stuff
}
else {
// iPhone/iPod stuff
}
大多数 UI 内容都可以通过自动调整参数来重做,但有些则不能。
此外,对于 iPhone/iPod 中不存在的特定类(如 UISplitViewController),您可以使用NSClassFromString,如果无法加载,它将返回对象类或 nil。
您可以修改相同的应用程序并添加对其他设备的支持。您需要重新提交申请。
从您的代码中,您可以检测它在哪种类型的设备上执行,并基于此为每个视图控制器加载适当的 XiB 文件。
是的,这很容易。你必须创建通用应用程序
文件--->新项目-->基于Windows的应用程序
然后你选择产品类型Universal 你有一个单独的 iphone 和
ipad视图
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