1

设备:

版本:3.1

建造:3511

设备:iPhone

操作系统:iPhone OS 4.0

xCode 3.2.2(旧)

xCode 3.2.3(新;适用于 iPhone 4.0 Beta)

背景:

正如你所看到的,我在我的 iPhone 上安装了 4.0,因为我在这个论坛上看到要降级到 3.1.3 几乎是不可能的,但它是我唯一拥有并用于开发的设备。当我尝试继续使用旧的 xCode 进行开发和构建时,它告诉我“未连接已配置的 iPhone OS 设备”。当我选择模拟器时,它会编译和构建,但是当我传播这个文件时,它在我的测试人员的设备上不起作用,他们得到一个签名错误。

当我运行新的 xCode 时,它​​会在设备上编译和构建,当我传播这个文件时,它确实可以在我的测试人员的设备上运行(它们正在运行当前的官方版本 3.1.3)。

问题:

  1. 为什么为模拟器和设备构建有区别?由于签名问题,模拟器构建似乎永远无法在我的测试人员的设备上运行,并且设备构建确实有效。

  2. 目前看来旧的 xCode 变得无用了,但是我读到您可能不会使用 Beta xCode 来构建您的应用程序以供发布。因此,由于旧的 xCode 无法让我正确构建,因此知道以上内容我如何能够通过当前的设置来实现这一点。

4

1 回答 1

2
  1. 模拟器针对一组不同的库构建链接,并且是为 Mac (x86) 构建的。在某种程度上,您可以将其视为 Mac 应用程序。这些构建不会在 iPhone 上运行,因为需要为 ARM 架构构建应用程序才能在 iPhone 上运行。

  2. Apple 明确声明测试版 SDK 不得用于发布。此外,他们警告您不要在设备上安装 beta 操作系统,除非它们专门用于 beta 操作系统开发。

但是,您仍然可以在没有设备的情况下分发 Ad Hoc 构建。当您看到“未连接已配置的 iPhone OS 设备”错误时,我相信仍然会生成构建。要验证这一点,您可以使用 iTunes 自己安装它,而不是让 XCode 安装它。

于 2010-04-13T13:17:26.940 回答