安装Xcode 3.2.4后,出现“Base SDK Missing”错误提示。

11

当你将Xcode升级到3.2.4版本后,之前正常工作的iOS项目会出现“Base SDK丢失”的消息。类似这样:

Ruh-roh!

这是怎么回事?如何修复?


嗨,布拉德。我写了那篇其他的帖子。由于这对许多人来说很困惑,并且3.2.3转换还有一些其他令人困惑的细节,所以我觉得针对3.2.4的问答可能会有所帮助。 - Clay Bridges
1
看起来反复发布相同的问题和答案,只是更改版本号,这似乎很荒谬。对我来说感觉像是在刷回答数。 - Jakob Borg
@Jakob:天啊,做个差异比较吧。 - Clay Bridges
3个回答

26

问题

iOS SDK 4.0在此版本中已被取代,改为iOS SDK 4.1,详见下面的 "解释"。 (注:这重复了我关于3.2.3的以前的问答中的一些信息)。

解决方法

要解决这个特定的问题,您需要重置目标的基本SDK等。 您可以针对整个项目(大多数人),或适用于每个目标和/或配置来执行此操作。 很少情况下,您可能需要两者都执行。

编辑项目设置

  1. 加载你的项目
  2. 从菜单中选择Project> Edit Project Settings ...
  3. 点击“Build”选项卡。
  4. 在 "Configurations" 下选择 "All Configurations"。
  5. 转到下面的更改Base SDK部分。

编辑特定的目标/配置设置

  1. 加载你的项目
  2. 从菜单中选择Project> Active Target> "YourTarget"
  3. 从菜单中选择Project> Edit Active Target "YourTarget"
  4. 点击“Build”选项卡。
  5. 在 "Configurations" 下选择 "All Configurations" 或想要的配置。
  6. 转到下面的更改Base SDK部分。

更改Base SDK

  1. 在 Architecture > Base SDK 下,选择可用设备选项之一:iOS Device 3.2或iOS Device 4.1。如果您只使用iPhone,则应选择4.1。
  2. 如果您想要定位先前的iOS版本,则在同一窗口中,在 Deployment > iPhone OS Deployment Target 下,选择您要支持的最低版本。请注意,通过应用商店支持2.x版本已经不推荐使用。

解释

本次更新中,iOS SDK 4.0被替换为iOS SDK 4.1。这与3.2.3升级非常相似,我在这里进行了详细介绍(链接)。您仍然可以使用3.2.4来针对iOS版本到3.0进行开发,但据我所知,必须使用Xcode 3.2.4编译至4.1 SDK。如果这个说明让您感到困惑,请仔细阅读以下句子:您编译的iOS SDK(即“基本SDK”)不会限制您能够支持哪些iOS版本。 事实上,有两个不同的设置,参见上面的更改基本SDK。如果您仍然感到困惑,请放心,并阅读我的详细帖子,其中包含了大量有用的链接。

1
感谢您为令人沮丧的问题带来了如此必要的清晰度。我刚刚学到了一些东西,每次使用Xcode时都会带着它。 - mcritz

0

对于所有旧项目,请选择主窗口,选择Option-Cmd-E,选择构建和“最新的ios...”。

关闭构建窗口。

在主窗口中,选项单击Base SDK下拉菜单,您应该看到最新可用的构建。

虽然仍然有些麻烦,但比导航、关闭窗口等要容易得多...

如果有人知道更好的方法,我很乐意听取意见...


0

我在3.2.5上遇到了同样的问题,并按照相同的说明进行了操作。但对我无效,但我注意到新项目可以正常工作。当我在 ShareKit.xcodeproj/project.pbxproj 中使用grep命令时,我发现即使在xcode中更改了SDKROOT参数,该文件中仍然存在iphoneos4.0的杂散引用。手动编辑此文件并将所有SDKROOT的引用更改为iphoneos后,问题得以解决。希望这能帮助某些人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接