设备:
版本: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)。
问题:
为什么建立模拟器和设备之间有区别?由于签名问题和设备构建确实有效,模拟器构建似乎永远不会在我的测试人员的设备上工作。
目前看来旧的xCode变得毫无用处,但我读到你可能不会使用Beta xCode来构建你的应用程序以便发布。因此,了解上述我如何能够使用当前设置将其解除,因为旧的xCode不会让我正确构建。
答案 0 :(得分:2)
模拟器针对不同的库集构建链接,并为Mac(x86)构建。在某种程度上,您可以将其视为Mac应用程序。这些版本不会在iPhone上运行,因为需要为ARM架构构建应用程序才能在iPhone上运行。
Apple明确声明测试版SDK不会用于发布。此外,他们警告您不要在设备上安装测试版操作系统,除非他们专门用于测试版操作系统。
但是,您仍然可以在没有设备的情况下分发Ad Hoc版本。当您看到“未连接配置的iPhone OS设备”错误时,我相信仍会生成构建。要验证这一点,您可以使用iTunes自行安装,而不是让XCode安装它。