Xcode 8.3 自动完成和语法突出显示不起作用
Xcode 8.3 autocomplete and syntax highlighting not working
我是 Xcode 和 Objective C 的新手,尽管我已经使用 Unity/C# 开发了一段时间。我很难让自动完成和语法突出显示在 Xcode 8.3 中正常工作 "properly"。在过去的两天里,我一直在整个互联网上搜索并尝试了所有推荐的解决方案和变通方法,但我没有找到任何运气。所以我决定提出一个新问题。
重现我的问题的步骤:
- 在 Xcode 中创建新的 "Single View Application" 项目。
- 新建 class "TestClass".
- 在 TestClass.h 中尝试输入 NSAr... 预期结果:Xcode 应该建议 NSArray(因为 Foundation.h 是自动导入的)。实际结果:没有。
no autocompletion
- 将 UIKit.h 导入 TestClass.h,并在 TestClass.m 中尝试调用 UIViewController 方法。预期结果:Xcode 应建议将 UIViewController 键入,然后突出显示 class 名称。实际结果:两者都不做。
no syntax highlighting
我尝试了什么:
- 删除 DerivedData 文件夹。
- 重启Xcode/computer(多次)
- 确保 .m 文件已添加到目标(在目标成员资格 window 中)
- 在 Build Phases > Link Binary With Libraries 中显式添加 Foundation 框架
- 将构建设置中的框架搜索路径设置为框架文件夹
- 在首选项 > 组件中下载 iOS 和 Xcode 文档
- 安装Xcode7.3.1和7.0,看不出区别。
我可能在这里遗漏了一些基本的东西,但我认为期望这样的功能可以正常工作是合理的 out-of-the-box,没有太多麻烦?
如有任何帮助,我们将不胜感激!
更新:
我也试过:
- 将 $(SRCROOT)/ 添加到 Header 搜索路径。
- 提高日志级别:默认写入 com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3 并在 Console.app 中查找 Xcode-specific "file not found" 错误(未找到此类错误)。
此外,测试应用程序非常简单,只有几行代码,构建良好。唯一的警告是 UIViewController *vc 变量的 "unused variable"(第二张截图)。
原来问题是我自己的行为(错误)造成的。
很久以前,当我第一次与 Xcode 进行短暂的互动时,我故意 禁用它的索引 ,因为我 [=28] 花了太长时间=](当时还没有升级)。所以我通过在终端中输入以下内容来做到这一点:
defaults write com.apple.dt.XCode IDEIndexDisable 1
就是这样。我完全忘记了这一点,直到最近我不得不再次触摸 Xcode,并且被自动完成和语法突出显示 "not working" 逼疯了。没有 Xcode 任何错误。我需要做的就是再次启用索引,方法是在终端中输入:
defaults delete com.apple.dt.Xcode IDEIndexDisable
我显然是自找麻烦,但希望这些信息对其他人有所帮助。
感谢大家的帮助。
我是 Xcode 和 Objective C 的新手,尽管我已经使用 Unity/C# 开发了一段时间。我很难让自动完成和语法突出显示在 Xcode 8.3 中正常工作 "properly"。在过去的两天里,我一直在整个互联网上搜索并尝试了所有推荐的解决方案和变通方法,但我没有找到任何运气。所以我决定提出一个新问题。 重现我的问题的步骤:
- 在 Xcode 中创建新的 "Single View Application" 项目。
- 新建 class "TestClass".
- 在 TestClass.h 中尝试输入 NSAr... 预期结果:Xcode 应该建议 NSArray(因为 Foundation.h 是自动导入的)。实际结果:没有。 no autocompletion
- 将 UIKit.h 导入 TestClass.h,并在 TestClass.m 中尝试调用 UIViewController 方法。预期结果:Xcode 应建议将 UIViewController 键入,然后突出显示 class 名称。实际结果:两者都不做。 no syntax highlighting
我尝试了什么:
- 删除 DerivedData 文件夹。
- 重启Xcode/computer(多次)
- 确保 .m 文件已添加到目标(在目标成员资格 window 中)
- 在 Build Phases > Link Binary With Libraries 中显式添加 Foundation 框架
- 将构建设置中的框架搜索路径设置为框架文件夹
- 在首选项 > 组件中下载 iOS 和 Xcode 文档
- 安装Xcode7.3.1和7.0,看不出区别。
我可能在这里遗漏了一些基本的东西,但我认为期望这样的功能可以正常工作是合理的 out-of-the-box,没有太多麻烦?
如有任何帮助,我们将不胜感激!
更新:
我也试过:
- 将 $(SRCROOT)/ 添加到 Header 搜索路径。
- 提高日志级别:默认写入 com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3 并在 Console.app 中查找 Xcode-specific "file not found" 错误(未找到此类错误)。
此外,测试应用程序非常简单,只有几行代码,构建良好。唯一的警告是 UIViewController *vc 变量的 "unused variable"(第二张截图)。
原来问题是我自己的行为(错误)造成的。
很久以前,当我第一次与 Xcode 进行短暂的互动时,我故意 禁用它的索引 ,因为我 [=28] 花了太长时间=](当时还没有升级)。所以我通过在终端中输入以下内容来做到这一点:
defaults write com.apple.dt.XCode IDEIndexDisable 1
就是这样。我完全忘记了这一点,直到最近我不得不再次触摸 Xcode,并且被自动完成和语法突出显示 "not working" 逼疯了。没有 Xcode 任何错误。我需要做的就是再次启用索引,方法是在终端中输入:
defaults delete com.apple.dt.Xcode IDEIndexDisable
我显然是自找麻烦,但希望这些信息对其他人有所帮助。
感谢大家的帮助。