没有名称或路径为“iphoneos4.0”的SDK

时间:2010-08-03 01:26:50

标签: iphone

我下载了一个UICatalog样本并运行它。当我编译它时,它显示失败的消息:没有名称或路径为“iphoneos4.0”的SDK。我发现UICatalog目标的“基础SDK”是iphone Device 4.0(缺失)。如何解决这个问题并运行它。

谢谢!

16 个答案:

答案 0 :(得分:35)

在“Groups& Files”中选择项目的根级别。它是蓝色的。然后按命令-I获取其信息。

从信息窗口顶部的分段控制器中选择“构建”。在该面板的第一部分中,您将看到Base SDK作为前几行选项之一。选择您在其中找到的最新版SDK,然后关闭窗口以保存选项。

构建并运行项目,你应该好好去。

编辑,因为我从评论中看到人们发现这个答案的问题与OP的问题略有不同,所以这里还有另外一件事要尝试。也可以选择“iOS设备”作为构建目标。如果是这样,如果您真正想要它启动到模拟器中,请选择“模拟器”。

答案 1 :(得分:21)

将项目加载到XCode ..

在群组和文件

  1. 右键单击UICatalog&lt ;-(或您的演示项目名称)并选择获取信息

  2. Base SDK中的
  3. 选择IOS Simulator 4.1

  4. 关闭并保存信息窗格

  5. 展开暴露UICatalog&lt ;-(或演示项目名称)的目标

  6. 右键单击UICatalog并选择获取信息

  7. Base SDK中的
  8. 选择IOS Simulator 4.1

  9. UICatalog项目窗格(左上角)中的组合框应切换到“Device - 4.1 | Debug”而不是“No Base SDK”

    如果您此时构建并运行,则可能会出现另一个错误。如果是这样,请打开UICatalog组合并从“设备”切换到“模拟器”

    上面提到的“官方链接”声明......

    “注意:目标可以覆盖在项目级别定义的构建设置。”

    ..但应该读“will”而不是“can”

答案 2 :(得分:5)

好的,我已经解决了。

  1. 在小组&文件转到目标并选择目标。
  2. 按Ctrl + I(或以其他方式打开信息)
  3. 设置目标的基础SDK
  4. (也应在项目中设置Base SDK)

答案 3 :(得分:4)

史蒂夫钉了它。这是一个Xcode错误。我加载了NavBar示例,Xcode甚至没有提供模拟器作为选项,它抱怨丢失的SDK,即使它在项目中设置正确并且未在目标上完全设置。

做史蒂夫说的话: “我能解决它的唯一方法(实际上,我可以选择在模拟器中运行的唯一方法)是从调试更改为发布和返回。下拉列表仍然显示Base SDK Missing但是如果你点击它,模拟器选项在那里并且它构建。“

答案 4 :(得分:2)

我的问题是在示例代码中嵌入了另一个xcodeproj。所以我用Finder照看那个文件,用Xcode打开它,和Dan说的一样:Project - >编辑项目设置 - >在“架构”下,将Base SDK设置为“iPhone Simulator x.x”(您安装的最新版本)

答案 5 :(得分:2)

我在另一个Apple示例应用中遇到了同样的问题。我可以解决它的唯一方法(实际上,我可以选择在模拟器中运行的唯一方法)是从debug更改为release并返回。下拉列表仍显示Base SDK Missing,但如果单击它,模拟器选项就会出现并构建。

我认为这是一个错误。

答案 6 :(得分:2)

这里有很多答案,似乎没有一个足够完整,这一切都很糟糕。但他们都很有帮助。在这里,我只想在一个答案中编译所有有用的部分。感谢Larry(几乎所有人已经编译成步骤),Steve,Dan Ray,dkk,geowar和lqf。 功能

Setting Base SDK

这张图片from apple有点过时和过时(谈论iOS SDK 4.0,我们目前处于4.1)但它确实显示了你应该在哪里更改项目设置。如果之前在 iPhone Device 4.0上,请选择 iPhone模拟器4.0

除此之外,他们说“目标可以覆盖项目级别定义的构建设置”。所以,是的,也可以继续,打开目标并将所有 Base SDK 设置为默认值,方法是按删除。如果它们是粗体,它们将变为常规,表示默认值,如果您执行了第一步,则应该是 iPhone模拟器4.0

只是意识到很多地方基础SDK 可能出错:

  • 在项目信息下
  • 目标信息
  • 在Project和Target的不同配置下

目标下,应将其设置为默认值,即项目中的值。

仍然有一些关于概述组合有时拥有,有时没有超过1个选项,如“设备”和“模拟器”,我还是无法理解,但这是Base SDK错误的另一个潜在配置位置

答案 7 :(得分:1)

获得相同的错误

只需升级到开发人员构建。尝试从示例文件构建基于DrillDownSave的应用程序。在更新之前建设正常。现在,当我尝试构建时,我得到:

检查依赖关系

[BEROR]错误:没有名称或路径为'iphoneos4.0'的SDK

我已按照上面的说明操作,将这些值设置为4.1(最近的),但这无法解决问题,仍然是同样的错误

答案 8 :(得分:1)

您必须确保在相应配置的项目设置下更改为“iPhone模拟器”(即,如果您正在构建调试版本,则必须在调试配置下更改为模拟器)。

出于某种原因,我在更改模拟器时遇到了这个错误但是意识到我正在进行调试构建但是在发布配置下更改为模拟器而不是调试配置。

答案 9 :(得分:1)

dkk的回答是让事情适合我的原因。我不得不更改目标上的Base SDK而不仅仅是项目。也许你必须做到这两点。

答案 10 :(得分:1)

将iPhone升级到iOS4.2.1(8C148a)后出现类似错误。情况如下。

我使用的是Xcode 3.2.4,但它不支持iOS4.2.1。所以我下载了Xcode_3.2.5_and_ios-sdk_4.2_final.dmg,这是3.78GB,需要安装9.53GB。然后我用Xcode 3.2.5运行我的ap。这是我收到上述错误消息的地方。

现在没关系。我根据Geowar的回答解决了这个问题:

请注意,如果你按照Geowar的说法做了,那信息仍然存在。尝试关闭Xcode 3.2.5并重新启动它。这就是它对我有用的方式。

另一件事是,如果你像我一样升级到iOS4.2.1。当您第一次尝试从Xcode 3.2.5加载a / p时。 Xcode 3.2.5仍然可以为您提供“没有连接iOS设备”。请尝试前往组织者,然后单击左侧栏上“设备”下的iPhone。等待一段时间让Xcode与iOS4.2.1的iPhone同步。然后它会工作。至少它适用于我。

杰西

答案 11 :(得分:1)

好的,所以我也在努力解决这个问题。基于上面的一些答案和苹果开发论坛,我能够找出对我有用的东西。

在XCODE中,如果您注意到窗口左上角的下拉显示“BASE SDK MISSING”,您将收到此错误“没有名称或路径的SDK”iphoneos4.0“” 。解决问题:

  1. 双击Group& xcode左侧窗格上部的文件。这将打开一个窗口

  2. 转到新窗口的“构建”标签

  3. 点击显示“BaseSDK”的行并选择“最新iOS(目前设置为iOS 3.2)

  4. 靠近顶部的配置下拉现在应该说“所有配置”。如果没有,请设置它。

  5. 关闭窗口。

  6. 现在,如果你尝试构建,你会得到一个不同的错误,例如:代码签名错误:身份'iPhone Developer:x Xxxxx'与任何个人资料中的任何身份都不匹配......

  7. 所以,现在你需要在xcode中点击左上角的下拉(具有原始BASE SDK MISSING指示的下拉,但现在可能有不同的东西),以及确保在下拉菜单中选中“模拟器”和“调试”作为选项。

  8. 现在你应该好好去。

答案 12 :(得分:0)

我刚刚去了Project - >编辑项目设置 - >构建 - >然后将Base SDK更改为iPhone 4模拟器,或者我假设您要使用哪个SDK。 我从来没有必要为给定的目标指定构建,虽然我的程序是在已经配置为使用iPhone 4.0模拟器的mac上创建的。所以也许为模拟器SDK设置目标而项目本身不是?无论哪种方式......都很高兴它有效。

答案 13 :(得分:0)

我遇到了同样的问题,我解决的问题是:

  1. 转到菜单项目
  2. 转到设置活动SdK
  3. 选择SIMULATOR选项而不是DEVICE
  4. 构建并运行,ERROR有gonne!
  5. 我希望它对你们有用...... =)

答案 14 :(得分:0)

我刚刚在更新到Xcode 3.2.5之后在我的项目中将Base SDK更改为4.2,但我继续得到“没有SDK ...”错误。我终于在文本编辑器中打开了项目文件(MyProject.xcodeproj / project.pbxproj)并环顾四周。在任何地方都没有提到4.0,只有4.2。 但是当我保存该文件时,它全部开始在Xcode中工作。也许对文件或其他东西有一些许可。真的不知道,但它确实有效。

答案 15 :(得分:0)

当我的配置的一个仍然引用旧的(iOS)SDK时,我收到此错误。请注意,当我尝试构建完全不同的配置(使用正确的Base SDK设置)时,错误不应该出现,所以这对我来说就像是一个XCode错误。 人们暗示你没有在目标级别设置基础SDK可能从未在一个项目文件中创建包含不同平台目标的项目(在我的Mac和iOS目标中,所以在项目中设置一次基础SDK文件是无意义的建议)。