【问题标题】:getting file not found error in ios在ios中获取文件未找到错误
【发布时间】:2012-03-21 14:19:11
【问题描述】:

您好,我是 iOS 开发新手。 这是我的问题。

我得到了一台带有 10.6.X 和 Xcode 的 mac 机器。 我得到了一个为 iPhone 预先编写的项目。 我想在我的 iPhone 上运行这个项目,所以我不得不将我的 mac 和 Xcode 升级到 10.7.x 和相同的 xcode。我必须这样做,因为我的 iPhone 在 iOS 5.1 上运行。 所以我的问题是,在升级之前,项目已经编译并在模拟器上正常运行,但现在升级后出现以下错误

 /usr/include/objc/objc-class.h file not found

我用谷歌搜索了很多,但所有搜索都指向与this link中给出的相同链接

此链接对我不起作用,因为当我尝试更改导入语句时,它会导致更多 5 到 6 个错误。

【问题讨论】:

    标签: ios xcode sharekit file-not-found


    【解决方案1】:

    不确定这是否会有所帮助,但有时 XCode 在更改导入的 .h 文件时会弄乱缓存的数据。尝试删除项目派生信息,例如组织者->项目->派生数据。然后清理项目并重建。

    此外,您引用的解决方案是系统特定的,这可以解释为什么它不适合您。特别是:

    #import </usr/include/objc/objc-class.h>
    

    注意导入开头的/usr/。这意味着文件将从根文件夹/ 开始的绝对路径加载,这在 Mac 或各种 Linux 版本上可能有所不同。尝试查找文件 objc-class.h 在系统中的确切位置,然后将该路径添加到标题搜索路径(XCode 目标 -> 构建设置,搜索路径部分)或添加具有特定于系统位置的导入。

    【讨论】:

    • 清理和重建过程正常工作,我试图在我的机器上搜索名为 objc-class 的文件,但我找不到它。
    • 打开终端执行后得到的结果:ls /usr/include/objc/
    • 这是我得到的 ls: /usr/include/objc: No such file or directory
    • 文件夹 /usr/include/objc 是一个标准的包含文件夹,其中包含了 ObjectiveC 的头文件,它应该在安装 XCode 时自动创建。如果您没有该文件夹,则表示您的安装有问题。您使用的是哪个版本的 XCode?​​span>
    • 我尝试使用以下命令查找文件 - find / -name objc-class.h 并找到以下 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/ SDKs/iPhoneSimulator5.1.sdk/usr/include/objc/objc-class.h /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/ objc/objc-class.h /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include/objc/objc-class.h
    【解决方案2】:

    Replace这些:

     #import </usr/include/objc/objc-class.h>
    

    与:

    #import <objc/objc-class.h>
    

    【讨论】:

      【解决方案3】:

      在 xcode 4.6 之后,这再次中断。我只是这样解决了这个问题:

      cd /usr/include/
      sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include/objc .
      

      现在它就像一个魅力

      【讨论】:

        【解决方案4】:

        在 Xcode 5 中遇到了这个问题。我必须删除该库并将其重新添加到我的项目中才能正常工作。我删除(移到垃圾箱),然后重新添加。

        【讨论】:

          【解决方案5】:

          您只需将这个 #import /usr/include/objc/objc-class.h 替换为 #import folderName/objcClassName.h

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2023-04-02
            • 2019-08-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-06-19
            • 2021-06-11
            • 1970-01-01
            相关资源
            最近更新 更多