2011-02-09 57 views
11

我们有一个XCode项目,它是第一个作为通用应用程序构建的,然后在路上我们改变了主意,让这两个应用程序相同的二进制,所以我们创建了两个目标一个XCode项目,两个目标,两个应用程序(iPhone/iPad)不通用应用程序

  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

回答

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文件

+0

谢谢。这工作就像一个魅力,我的iPad版本现在在商店。电话一来。 – clide313 2011-02-17 13:13:56

2

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

看着你的截图我认为你只需要确保你没有在iPhone目标中指定NSMainNibFile〜ipad和UISupportedInterfaceOrientations〜ipad,反之亦然,这是iPad目标(即不包括iPhone特定条目)。顺便说一句,在Xcode中打开Info.plist为这些键提供了更多的描述性名称,并为允许的值提供了一个下拉菜单。

同样要小心UIRequiredDeviceCapabilities,也就是说,如果绝对需要,通常只在plist中包含一个关键字。

4

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

  • 是的。

这两个.plist文件应该有什么区别?对于

  • 包标识符(例如,com.example.app为iPhone/iPod和com.example.app-hd为iPad)
  • (可选)图标
  • (可选)启动图像(iPhone,iPhone @ 2X和ipad不同)(不同iPhone,iPhone @ 2x和新iPad)
  • (可选)支持的接口方向(在我的经验,至少2个方向为iPad)
0

要使用的iPad的IPhone应用程序,启动图像不 解决方案:

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

相关问题