【问题标题】:Xcode 8.3 autocomplete and syntax highlighting not workingXcode 8.3 自动完成和语法高亮不起作用
【发布时间】:2017-08-29 03:11:13
【问题描述】:

我对 Xcode 和 Objective C 非常陌生,尽管我已经使用 Unity/C# 开发了一段时间。我很难让自动完成和语法突出显示在 Xcode 8.3 中“正常”工作。在过去的两天里,我一直在互联网上搜索并尝试了所有推荐的解决方案和解决方法,但没有任何运气。所以我决定提出一个新问题。 重现我的问题的步骤:

  • 在 Xcode 中创建新的“单一视图应用程序”项目。
  • 创建一个新类“TestClass”。
  • 在 TestClass.h 中尝试输入 NSAr... 预期结果:Xcode 应该建议 NSArray(因为 Foundation.h 是自动导入的)。实际结果:没有。 no autocompletion
  • 将 UIKit.h 导入到 TestClass.h,并在 TestClass.m 中尝试调用 UIViewController 方法。预期结果:Xcode 应该建议 UIViewController 键入,然后突出显示类名。实际结果:两者都没有。 no syntax highlighting

我尝试了什么:

  • 删除 DerivedData 文件夹。
  • 重启 Xcode/电脑(多次)
  • 确保将 .m 文件添加到目标(在 Target Membership 窗口中)
  • 在 Build Phases > Link Binary With Libraries 中显式添加 Foundation 框架
  • 将 Build Settings 中的 Framework Search Paths 设置为 Frameworks 文件夹
  • 在 Preferences > Components 中下载 iOS 和 Xcode 文档
  • 安装 Xcode 7.3.1 和 7.0,看看没有区别。

我可能在这里遗漏了一些基本的东西,但我认为期望这样的功能开箱即用,没有太多麻烦是合理的?

任何帮助将不胜感激!

更新:

我也试过了:

  • 将 $(SRCROOT)/ 添加到标题搜索路径。
  • 提高日志级别:默认写入 com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3 并在 Console.app 中查找 Xcode 特定的“找不到文件”错误(未找到此类错误)。

此外,测试应用程序是一个非常简单的应用程序,只有几行代码,并且构建良好。唯一的警告是 UIViewController *vc 变量的“未使用变量”(第二张截图)。

【问题讨论】:

标签: ios objective-c xcode autocomplete syntax-highlighting


【解决方案1】:

原来问题是由我自己的行为(错误)引起的。

很久以前,当我第一次与 Xcode 进行简短交互时,我故意尝试禁用它的索引,因为它在我的 Mac 上花费了太长时间(当时还没有升级)。所以我通过在终端中输入这个来做到这一点:

defaults write com.apple.dt.XCode IDEIndexDisable 1

它就在那里。我完全忘记了这一点,直到最近我不得不再次触摸 Xcode,并且被自动完成和语法突出显示“不工作”逼疯了。没有任何 Xcode 错误。我需要做的就是再次启用索引,方法是在终端中输入:

defaults delete com.apple.dt.Xcode IDEIndexDisable

显然我自己制造了麻烦,但希望这些信息对其他人有所帮助。

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 2017-06-26
    • 1970-01-01
    • 2014-09-09
    相关资源
    最近更新 更多