2012-03-30 94 views
0

重新运行项目时,出现“BASE SDK Missing”错误。 (我得到了最新版本的xcode,并安装了最新的SDK。)缺少基础SDK

当我退出一个项目(不退出xcode)并且在一段时间后重新打开该项目时似乎正在发生。我已经尝试过,无论是否插入我的iPhone。我试图fix the problem like described here,但它对我没有帮助。 - 这只会让它变得更糟! (无法识别的SDK)

我设法恢复正常状态的唯一方法是手动重新启动我的mac,插入手机,等待直到它检查了我的iPhone,然后打开Xcode中。费时又烦人!

为什么会发生这种情况,解决这个问题的诀窍是什么?

+1

Xcode 4.3.2发生这种情况吗?在您的项目级构建设置中,您的Base SDK是否设置为“最新的iOS(iOS 5.1)”? – warrenm 2012-03-30 20:50:34

+0

是的,很抱歉,我使用的是版本4.3.2(4E2002)和Mac OS X 10.7.3 – CustomCase 2012-03-30 21:37:04

回答

1

您最近升级的Xcode可能会删除您的项目设置为使用的早期SDK。这个问题有几个解决方案。最简单的解决方案是始终在项目设置中选择“最新”SDK,而不是选择特定的选项。您可能对这个想法感到不舒服,并希望在较早的设备上运行您的应用,但重要的是您应该了解,所有较新的SDK都可以生成适用于较早版本iOS的代码。有一个单独的难以记住的选项来设置部署目标。 (花了我一段时间才知道如何/为什么要使用它,但它非常值得。)

第二个选项是实际查找您的项目设置为的SDK版本并尝试重新安装它。我建议只在必要时才使用此路线,因为它不能保证在每种情况下都能正常工作。由于工具链的重大变化,较旧的SDK可能会或可能不会在更高版本的Xcode中工作(例如,SDK 3.0可能不适用于Xcode 4.3.2)。像gcc/gdb这样的工具已被弃用,转而使用llvm/lldb。不过,您可能有使用旧版SDK的合理原因。您可能必须修复仅在使用较旧的工具链时才存在的错误,或者您可能需要重现仅在构建服务器生成的构建时才会出现的问题。在许多情况下,升级问题出现的位置可能会更容易(例如升级构建服务器上的工具)或降级开发环境。 (安装旧版本的Xcode。)

令人沮丧的原因是苹果高度鼓励它快速采用它的最新工具和技术。它创造了一个更好的产品,因为开发者社区被迫保持当前和竞争力,而用户被迫维持升级以确保应用程序继续工作。这与传统的向后兼容模型相反,允许开发人员支持对产品/平台进行修订。这对于商业来说也很棒,因为快速采用最新产品往往鼓励购买更新的硬件和产品以获得最佳体验。迅速采用确保了更强大的软件以及错误修复,增强功能使其能够向大多数消费者整体提高其在市场上的渗透率。

+0

我已经将我的SDK设置为“最新”,但我不断收到错误。我意识到,我倾向于在几分钟内没有在xcode中工作。 - 我在工作时正在观看视频教程,当我回到我的xcode时,它声称我没有正确的SDK ... – CustomCase 2012-03-31 19:35:58

+0

在您的项目中设置您的SDK并删除目标中的任何SDK设置。 – Cliff 2012-04-03 05:12:23

0

您必须将您的目标和项目的基础SDK设置为“最新”,而不是明确的选项。如果您明确选择一个,如果您更新xcode版本,它似乎会中断。