【问题标题】:One XCode project, two target, two apps (iPhone/iPad) not universal app一个 XCode 项目,两个目标,两个应用程序 (iPhone/iPad) 不是通用应用程序
【发布时间】:2011-06-24 05:40:47
【问题描述】:

我们有一个 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 文件。

提前感谢您的帮助。

【问题讨论】:

    标签: iphone xcode ipad universal-binary


    【解决方案1】:

    首先,没有理由为什么您的 ipad 专用目标的基础 SDK 应该是 3.2。事实上,由于 iOS 4.2 在 ipad 上运行,您将通过不将基本 SDK 更改为 4.2 来限制您的客户群。您可以将目标操作系统设置为 iOS 3.2,以确保应用可以在 iOS 3.2 上运行。

    在您的目标配置构建设置中,查找“目标设备系列”,这将说明目标是“ipad”、“iphone”还是(对于通用应用程序)“iphone/ipad”。

    我还将一个通用应用程序迁移到两个单独的目标 - 这并不好玩。您必须非常仔细地检查您的构建设置和您的 .plist 文件,以确保它们对于预期的目标设备是健全的,尤其是检查:Base SDK、iOS 部署目标、目标设备系列和 Info.plist 文件

    【讨论】:

    • 谢谢。这就像一个魅力,我的 iPad 版本现在在商店里。电话一来。
    【解决方案2】:

    我们应该为每个目标有一个单独的 info.plist 吗?

    • 是的。

    两个 .plist 文件之间应该存在哪些差异?

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

    【讨论】:

      【解决方案3】:

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

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

      还要小心 UIRequiredDeviceCapabilities,即作为一般规则,只有在绝对需要时才在您的 plist 中包含一个键。

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          猜你喜欢
          • 2012-11-13
          • 1970-01-01
          • 2011-05-09
          • 2020-12-20
          • 2012-12-09
          • 2011-01-25
          • 2011-01-29
          • 2012-11-16
          • 2010-12-21
          相关资源
          最近更新 更多