2

我已经安装了最新的 iphone sdk 3.0 beta 5,并尝试从这个 sdk 提交第一个应用程序构建,但是当我上传到 iTunes Connect 时,它给我消息“您上传的二进制文件无效。为密钥提供的值MinimumOSVersion 是不可接受的。” 并且无法上传。因此我在项目中编辑我的 info.plist 文件并将这个键设置为 2.2.1,比如

 <key>MinimumOSVersion</key>
 <string>2.2.1</string>

再次上传,但它仍然返回相同的消息,有没有人遇到过同样的问题以及如何摆脱这个问题?

4

7 回答 7

7

你不应该在你的 Info.plist 中指定 MinimumOSVersion。从信息属性列表关键参考

MinimumOSVersion(字符串 - iPhone OS、Mac OS X)。当您构建 iPhone 应用程序时,Xcode 将目标操作系统(由 Base SDK 选择确定)记录为 MinimumOSVersion 属性。不要在 Info.plist 文件中自己指定这个属性;它是系统编写的属性。当您将应用程序发布到 App Store 时,商店会根据此属性指示您的应用程序可以在其上运行的 iPhone OS 版本。它相当于 Mac OS X 上的 LSMinimumSystemVersion 属性。

于 2010-04-21T11:33:22.157 回答
2

您需要做的是更改项目中的部署目标设置。部署目标指定您希望应用程序在其上运行的最低操作系统。这与您构建的 SDK 无关,它应该始终是最新的 SDK,以便您可以确保您的应用程序在可用的最新操作系统版本上正确运行。所以,简而言之:

  • 将 Base SDK 设置为可用的最新操作系统
  • 将部署目标设置为您希望应用运行的最早操作系统。

手动编辑 Info.plist 文件实际上只是在愚弄 App Store,让他们认为您的应用程序可以在不是为运行而构建的操作系统上运行,这可能会产生不可预测的结果。

于 2009-09-10T17:49:04.197 回答
1

请阅读 iPhone 开发者中心的通知。目前你不能使用 iPhone 3.0 SDK 为 App Store 构建应用程序,即使你为 2.x 操作系统编译它们也是如此。您必须使用 2.x SDK 编译应用程序才能将其提交到 App Store。

您可以并排安装两组开发人员工具。当您进入选择要安装软件包的哪些部分的屏幕时,您可以选择安装的替代目标。

于 2009-05-11T07:44:47.693 回答
1

我有同样的问题。以下是如何解决它!

我的项目叫做 SuperTennis,所以我在 xcode 中单击了该项目,然后单击了 Get Info。在常规选项卡下,将“所有 iPhone 配置的基础 SDK”更改为 iPhone OS 2.0,然后进入构建选项卡,将“基础 SDK”更改为“iPhone OS 2.0”,然后为您的设备构建它。在 finder 中显示应用程序,然后继续上传。如果您需要更多帮助,请通过 gmail.com 的 ryan2925 给我发电子邮件。我希望这对您和其他阅读者有用。

于 2009-05-31T07:30:34.550 回答
1

当我最终将东西从 2.2.1 升级到 4.0 SDK 并尝试使用现有项目时,我收到了这个错误。

我不得不:

  1. 单击 XCode 中的项目,然后单击 Info。
  2. 点击“构建”
  3. 注意您正在设置的“配置”。您在尝试调试时是否不小心设置了分发?
  4. 将“Base SDK”设置为尽可能高的值。
  5. 将“目标设备系列”更改为您正在执行的操作。
  6. 将“iPhone OS 部署目标”设置为您设备的操作系统(您可以通过转到 Window > Organizer 进行检查)。

我的主要时间接收器是在尝试调试但没有意识到时设置我的分发设置。

于 2010-09-06T20:17:12.387 回答
0

尝试这个:

ARMV6: before iPhone 3GS
ARMV7: including and after iPhone 3GS

"Proj." and "Target(s)" right-click, Get Info. Select:-

Base SDK: iPhone 4.0 (latest s greatest)
Standard: ARMV6, ARMV7
Uncheck build for Active Architecture 
Deployment Target: 4.0 (not older ones 3.1.3; you don't have the SDK if you upgrade to 4.0)
Compiler section: Ensure that both ARMV6 and ARMV7 checkboxes are ticked under Generate Code, Thumb section.

二进制输出稍大一些,因为它是支持两种架构的通用代码。

如果您只想支持 ARMV7,请不要在编译器部分检查 ARMV6,选择针对 ARMV7 优化的代码,仅检查活动架构。在中info.plist,添加项目。该字段已经存在并且可能具有自动指定的其他系统要求。armv7UIRequiredDeviceCapabilitiesinfo.plist

于 2010-08-17T06:41:57.047 回答
-3

右键单击您的项目并转到您的构建选项卡。您可以在列表顶部附近指定您的 Base SDK。这是您将编译的最低要求。在此之后,您的构建设置下拉菜单将包含旧版本。当您进行分发时,请确保您没有使用 3.0,因为这会导致您的二进制文件被拒绝(正如您所发现的那样)。

于 2009-05-11T06:46:14.747 回答