【问题标题】:Availability.h, UIKit.h, etc not found未找到 Availability.h、UIKit.h 等
【发布时间】:2012-02-21 15:26:45
【问题描述】:

我在这里遇到了一个大问题。

我最近从 Mac App Store 下载了 Xcode 4.3,因为它具有 Lion 的全屏功能。然后,我的项目停止编译。它说:

找不到词法或预处理器问题Availability.h 文件。

//
// Prefix header for all source files of the 'TRGame' target in the 'TRGame' project
//

#import <Availability.h>

#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif


#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

这在xxxx-Prefix.pch 文件中。

如果我把#import Availability.h注释掉,它会告诉我找不到UIKit.h,以此类推……

我们将不胜感激!

【问题讨论】:

  • 注意:如果我创建一个新的 iOS 项目,也会发生同样的情况。未找到 Availability.h。
  • 感谢您发布此问题。我讨厌这个问题。看来您只需删除/重新添加即可令人惊讶地解决问题,请参阅下面的我的 cmets。令我恼火的是,重新安装 Xcode 并没有解决问题。关于原因,我怀疑该问题可能与重命名驱动器路径的某些部分有关。再次感谢

标签: iphone objective-c xcode import


【解决方案1】:

我讨厌这个问题!似乎有一个简单的解决方案,有时可以:

可能的解决方案

转到构建阶段 -> 将二进制文件与库链接。

如果您对 Foundation.framework 有疑问。只需删除那个 --- 即使用列表底部的减号(“-”)按钮。

然后使用加号按钮再次添加。

清理构建文件夹。 (为此,请按住 ALT,然后单击 Product -> Clean。您将看到“Clean”更改为“Clean Build Folder”)

另一种可能的解决方案

一定要在这里阅读马修的回答...

iOS SDK broken ever after reinstall UIKit and Foundation frameworks not found

看看你的“框架搜索路径”的价值。

另一种可能的解决方案

完全完全卸载 XCode 4.3,使用“CleanMyMac”来执行此操作(它会尝试找到您尝试删除的应用程序的每个相关组件)。

然后只需使用 App Store 来(重新)安装 XCode。正如大卫所说,这有时可以解决这个该死的问题。

为什么会这样?...

我相信这个问题可能发生在您更换硬盘驱动器(即可能使用 Carbon Copy Cloner 等)或以某种方式重命名或更改 Mac 上的主卷的情况下方式。我认为新的“应用程序风格”Xcode 中可能存在一个小错误,它有时会,有时不理解路径中的那种变化。

希望对大家有所帮助!

这是一个令人愤怒的问题。在这种情况下,我只是再次发生了这种情况,因为我随后从机器上删除了“旧式”XCode 的副本。 (在安装新式 XCode 之前,最好彻底删除旧式 XCode(/Developer 目录等)。)

【讨论】:

  • 对我不起作用。我只有在设备中运行应用程序时才会遇到这个问题。当我在模拟器中运行应用程序时很好。顺便问一下,什么是“CleanMyMac”?
  • XCode 4.6 有这个问题,并认为是 CocoaPods。读完这篇文章后,我从 App Store (4.6.2) 安装了 XCode,它运行良好。谢谢!
【解决方案2】:

我也遇到了同样的问题,Xcode 4.3 找不到 Foundation.framework、CoreFoundation.framework 就像 David Da Silva Contín 所说,我删除了安装在 Xcode 上的 Xcode 4.3 build 4E109 4.2重新安装,现在一切正常。谢谢大卫=D

【讨论】:

    【解决方案3】:

    我尝试删除并重新安装 Xcode,它的工作。谢谢。

    【讨论】:

      【解决方案4】:

      我刚刚遇到了类似的问题。

      我已将我自己的一个.h 文件添加到.pch,因此我不必将它导入每个类。直到现在我开始出现错误时都很好,但在为设备构建时。奇怪的是,它在设备上安装并运行正常,模拟器上从来没有任何错误。

      所有我所做的只是从.pch 中删除导入行,cmd+S,然后将我的脚后跟敲击三下并添加回来。

      我做了一个选项+清理,然后编译完全没有问题。很高兴不必重新安装 Xcode,也许这对其他人有帮助?

      【讨论】:

        【解决方案5】:

        可能在 Build Settings -> Valid Architecture 里有 arm64。 因此,只需删除架构 arm64 即可解决问题。

        【讨论】:

          【解决方案6】:

          伊万的回答

          检查是否设置了“使用标准系统头目录搜索”(在“构建设置”下)

          对我来说,“使用标准系统标头目录搜索” 已经设置为 YES,但是我将其勾选为 NO,然后返回 YES,并执行了 Clean 和 Clean Build Folder(Product -> Clean(ALT) Product -> Clean Build Folder),这似乎解决了问题对我来说。

          现在我不确定此过程中的哪些步骤实际上已修复它(在此之前我已经清理了构建文件夹但无济于事),但它确实有效。

          【讨论】:

            【解决方案7】:

            UIKit 不适用于 Lion,但仅限于 iOS。 您的项目是否针对 iOS SDK?

            【讨论】:

            • TRGame; 1个目标,iOS SDK 5.0 我猜是对的。确实,它适用于我已经在 App Store 上的 iOS 应用程序。
            • 链接的框架和库:UIKit.framework iAd.framework AVFoundation.framework QuartzCore.framework GameKit.framework Foundation.framework CoreGraphics.framework
            【解决方案8】:

            我只是通过重新安装 Xcode 解决了它。

            如果您遇到类似情况,请删除 Xcode.app(因为它现在只是一个 App),然后从 Mac App Store 重新下载。

            我猜它没有正确安装。

            【讨论】:

            • 你知道,不幸的是,我在许多 Mac 上都遇到了这个问题,不幸的是我发现重新安装 Xcode 有时没有帮助。这该死的烦人。对于将来阅读有问题的任何人,也可以尝试下面提到的删除/添加过程欢呼
            【解决方案9】:

            尝试重新安装您的 XCode。我在寻找问题时浪费了很多时间。然后我尝试重新安装我的 XCode,因为我在每个框架中都看不到头文件。这对我有帮助。

            【讨论】:

              【解决方案10】:

              检查“Use Standard System Header Directory Searching”(在“Build Settings”下)是否设置为Yes

              我不小心更改了该设置,也遇到了同样的问题。

              【讨论】:

                【解决方案11】:

                完全删除项目并再次添加所有内容对我来说已经好几次了。

                【讨论】:

                  【解决方案12】:

                  使用迁移助手将旧计算机克隆到新计算机后,我遇到了同样的问题。

                  我通过删除 DerivedData 文件夹 (/Users/userName/Library/Developer/Xcode/DerivedData) 的内容解决了这个问题。

                  我猜完全卸载或安装新版本的 xCode 也是如此。

                  【讨论】:

                    猜你喜欢
                    • 2012-05-26
                    • 2023-03-23
                    • 1970-01-01
                    • 2020-05-11
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-01-26
                    相关资源
                    最近更新 更多