Xcode显示许多错误,但程序编译并运行正常(在模拟器和设备中)

Jul*_*ian 47 xcode compiler-errors

在安装CocoaLumberjack'日志压缩器类后,我一直在遇到这种恼人的行为:Xcode抱怨说有很多未声明的标识符,并且给了我很多错误(不是警告,而是带有红色图标的错误).

问题是我可以编译和运行我的iPad应用程序,但Xcode不会做任何自动完成.我尝试清理构建文件夹(Product> option+ Clean),还删除了派生数据.我也重新启动无济于事.

你可以想象这是一种痛苦的工作.我确实在之前版本的Xcode上发生过这种行为; 它与我的预编译头文件中的东西有关,但使用上面的解决方案总能修复它.我目前正在使用Xcode 4.4(4F250).

我得到的示例错误:

Semantic Error: use of undeclared identifier 'DDTTYLogger'

上面发生的事情甚至发生在我自己编写的类中,并且自安装CocoaLumberjack压缩器类以来没有改变.

Jul*_*ian 91

经过多次尝试使用以下内容后,我终于解决了这个问题

从我的Prefix.pch中删除最后一个#import并重新构建.错误会发生(显然).把线放回去并重新建造.没有错误显示,10秒左右后,错误会再次出现.

重复上面的操作,除了最后的#import,删除最后两个导入,然后删除三个,四个等.我这样做直到我删除了五个导入,当我把它们放回去等待时,Xcode停止抱怨.

请注意,这根本不会发生在我身上.我在某个博客上阅读了这个解决方案.

奇怪的错误......

  • 仍然在Xcode 9.1中发生.太不可思议了. (7认同)
  • 哇靠.我差不多两年前发布了这个,人们仍然遇到这个问题.Xcode错误修复史诗失败. (4认同)
  • Xcode 10.1仍在发生 (2认同)

Yun*_*hel 9

打开构建设置并将"Precompile Prefix Header"设置为"No",这解决了我的问题.

荣誉:https://stackoverflow.com/a/7035492/936957


Ben*_*ron 9

我已经在Objective-C和Swift的所有最新版本的Xcode中不断遇到这些问题.

我今天注意到我在一个特定的类文件中得到了错误.我把它从一些额外的目标中删除了,错误终于消失了!

我认为Xcode现在处理多个目标有一些根本性的错误.我的理论是,如果没有构建另一个目标,你基本上会看到该目标的错误.无论如何希望这有助于某人.

  • 这是正确的答案。如果添加在 Objective-C 代码中访问的新 Swift 类,为了让编译器识别这些类,您需要编译目标。编译后,-Swift.h 文件会自动生成,您将看到构建成功。但是,您描述的 Xcode 错误会导致 Xcode 在当前(成功构建)目标上的*其他*目标中显示此类错误。解决方案是切换到其他目标并构建它们。 (2认同)