一个XCode项目,两个目标,两个应用(iPhone/iPad),不是通用应用程序。

11

我们有一个XCode项目,最初构建为通用应用程序,然后在开发过程中我们改变了主意,决定将两个应用程序分别打包成两个目标。

  1. 第一个名为:AppName ,适用于iPhone:基本SDK是4.2,部署目标是3.1.3。 目标设备是iPhone。
  2. 第二个名为:AppNameHD ,适用于iPad:基本SDK是3.2,目标设备是iPad。

几周来,我们已经可以轻松为每个平台构建应用程序并能够在iPad和iPhone上部署。

现在我们准备提交到应用商店,我担心可能会被代码拒绝。 我们现在想要先提交仅适用于iPad的应用,但是我查看了iTunesConnect网站,没有地方可以指定目标设备。由于该项目最初被结构化为通用应用程序,我想知道他们如何确定在哪个设备上测试二进制文件。

关于架构的更多信息: 我们正在为两个目标使用默认生成的info.plist文件。 我们是否应该为每个目标单独使用info.plist? 两个.plist文件之间应该有哪些差异。

这里附上我们实际使用的info.plist文件。

预先感谢您的帮助。enter image description here

4个回答

7
首先,将iPad的基本SDK目标设置为3.2没有任何理由。实际上,由于iOS 4.2适用于iPad,如果不将基本SDK更改为4.2,您将限制客户群体。您可以将目标操作系统设置为iOS 3.2,以确保应用程序在iOS 3.2上运行。
在目标配置构建设置中,查找“目标设备系列”,它将说明目标是“iPad”、“iPhone”还是(对于通用应用)“iPhone/iPad”。
我还将通用应用迁移到了两个单独的目标——这并不好玩。您必须非常仔细地检查构建设置和.plist文件,以确保它们适用于其预期的目标设备,特别是检查:基本SDK、iOS部署目标、目标设备系列和Info.plist文件。

谢谢。这个方法非常有效,我的iPad版本现在已经上架了。手机版本也会很快跟进。 - clide313

4

我们应该为每个目标创建单独的 info.plist 文件吗?

  • 是的。

这两个 .plist 文件之间应该存在什么差异?

  • Bundle identifier(例如,对于 iPhone/iPod 的应用程序为 com.example.app,对于 iPad 的应用程序为 com.example.app-hd
  • (可选)图标(iPhone、iPhone @2x 和 iPad 的图标不同)
  • (可选)启动图像(iPhone、iPhone @2x 和 iPad 的启动图像不同)
  • (可选)支持的界面方向(根据我的经验,iPad 至少需要支持两个方向)

2
苹果使用您的Info.plist来确定itunesconnect中的目标。查看您的截图,我认为您只需要确保不在iPhone目标中指定NSMainNibFile〜ipad和UISupportedInterfaceOrientations〜ipad,在iPad目标中也是如此(即不包括iPhone特定条目)。顺便说一句,在Xcode中打开Info.plist会提供更多描述性名称的键,并为允许的值提供下拉列表。同时要小心UIRequiredDeviceCapabilities,即通常只有在绝对需要时才在plist中包含一个键。

0

在iPad上使用iPhone应用程序时,启动图像无法获取,解决方案:

在“常规设置”中选择“不使用资源目录”作为启动图像。 添加以下内容:

  • Default@2x.png(640x960)
  • Default-568h@2x.png(640x1136)
  • Default.png(640x960)不使用(320x480)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接