基本SDK丢失

时间:2012-03-30 20:44:13

标签: ios xcode sdk

重新开放项目时,我得到“BASE SDK Missing”。 (我得到了最新的xcode版本,并安装了最新的SDK。)

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

我设法让它恢复正常的唯一方法是手动重新启动我的Mac,插入手机,等到它检查了我的iPhone,然后打开xcode。耗时且烦人!

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

2 个答案:

答案 0 :(得分:1)

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

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

令人沮丧的原因是,Apple非常鼓励快速采用它的最新工具和技术。它创造了一个更好的产品,因为开发社区被迫保持最新和竞争力,而用户被迫保持升级以确保应用程序继续工作。这与传统的向后兼容模型形成对比,允许开发人员支持产品/平台的修订版本。它对商业也很有用,因为最新的快速采用通常会鼓励购买更新的硬件和产品以获得最佳体验。快速采用确保了更强大的软件以及错误修复,增强功能使大多数消费者能够进一步提高其在市场中的渗透率。

答案 1 :(得分:0)

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