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

时间:2011-02-09 15:34:51

标签: iphone xcode ipad universal-binary

我们有一个XCode项目,它首先构建为一个通用应用程序,然后在路上我们改变了我们的想法,让两个应用程序在同一个二进制文件中,所以我们创建了两个目标。

  1. 第一个名为:AppName,适用于iPhone:基本SDK为4.2,部署目标为3.1.3。目标设备是iPhone。
  2. 第二个叫做:AppNameHD,适用于iPad:基本SDK为3.2,目标设备为iPad。
  3. 现在已经有几周了,我们可以轻松构建这些平台,并且可以在iPad和iPhone上进行部署。

    现在我们已准备好提交到应用程序商店,我担心可能会拒绝代码。我们现在想要提交仅限iPad的应用程序,但我环顾四周,itunesconnect网站上没有任何地方我可以指定目标设备,因为该项目的结构首先是一个通用应用程序。我想知道他们如何确定测试二进制文件的设备。

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

    附上我们正在使用的实际info.plist文件。

    感谢您的帮助。enter image description here

4 个答案:

答案 0 :(得分: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文件

答案 1 :(得分:4)

我们是否应该为每个目标设置单独的info.plist?

两个.plist文件之间应该有什么区别?

  • 捆绑标识符(例如,适用于iPhone / iPod的com.example.app和适用于iPad的com.example.app-hd
  • (可选)图标(iPhone,iPhone @ 2x和iPad不同)
  • (可选)启动图像(iPhone,iPhone @ 2x和iPad不同)
  • (可选)支持的界面方向(根据我的经验,iPad至少有2个方向)

答案 2 :(得分:2)

Apple使用您的Info.plist确定itunesconnect中的目标。

查看截图我认为你需要确保你没有在iPhone目标中指定NSMainNibFile~ipad UISupportedInterfaceOrientations~ipad,反之亦然指定iPad目标(即不包括iPhone特定条目)。顺便说一句,在Xcode中打开Info.plist可以为键提供更具描述性的名称,并提供允许值的下拉列表。

另外要注意UIRequiredDeviceCapabilities,即一般情况下,如果绝对需要,只在你的plist中包含一个键。

答案 3 :(得分:0)

要在iPad中使用iPhone应用,启动图片无法获取, 溶液:

在常规设置中为启动图像选择“不使用资产目录”。 添加,

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