2017-04-04 56 views
3

我對Xcode和Objective C非常陌生,但我一直在用Unity/C#開發一段時間。我很難嘗試讓自動完成和語法突出顯示在Xcode 8.3中「正常」工作。在過去的兩天裏,我一直在搜索整個互聯網,並嘗試了所有推薦的解決方案和解決方法,而我沒有發現任何運氣。所以我決定開一個新的問題。 重現我的問題的步驟:Xcode 8.3自動完成和語法突出顯示不起作用

  • 在Xcode中創建新的「Single View Application」項目。
  • 創建一個新類「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文件添加到目標(在目標窗口的成員)
  • 明確添加基礎框架構建階段>鏈接二進制與圖書館
  • 將構建設置中的框架搜索路徑設置爲Frameworks文件夾
  • 在首選項>組件中下載iOS和Xcode文檔
  • 安裝Xcode 7.3.1和7.0,查看沒有區別。

我可能在這裏錯過了一些基本的東西,但我認爲期望這樣的功能可以即裝即用,沒有太多麻煩是合理的?

任何幫助將不勝感激!

UPDATE:

我也試過:

  • 添加$(SRCROOT)/到頭搜索路徑。
  • 增加日誌級別:默認寫入com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3並在Console.app中查找Xcode特定的「文件未找到」錯誤(未找到此類錯誤)。

此外,測試應用程序是一個非常簡單的與幾行代碼,它建立罰款。唯一的警告是UIViewController * vc變量的「未使用變量」(2nd screenshot)。

+0

什麼是該測試類 –

+1

的子類嘗試下面的鏈接:http://stackoverflow.com/a/2264010/5929147 http://stackoverflow.com/a/7676487/5929147 http://stackoverflow.com/a/10245076/5929147 http://stackoverflow.com/questions/39598543/xcode-8-syntax-highlighting-doesnt-work?noredirect=1&lq=1 – bala

+0

@NAVEENKUMAR TestClass是截圖中的NSObject的子類,沒有子類它自己的。 – pt5011

回答

2

原來這個問題是由我自己的行爲(錯誤)引起的。

很久以前,當我與Xcode進行了第一次簡短的交互時,我故意嘗試禁用索引,因爲它在我的Mac上(當時沒有升級)耗時太長。所以我在終端上輸入了這個數字:

defaults write com.apple.dt.XCode IDEIndexDisable 1 

那就是這樣。我完全忘了這件事,直到最近我再次碰到Xcode,並被自動完成和語法突出顯示「不工作」驅使。沒有任何Xcode的錯誤。所有我需要做的,使其工作是重新啓用索引,通過在終端中輸入這樣的:

defaults delete com.apple.dt.Xcode IDEIndexDisable 

我明明創建了自己的麻煩,但希望這些信息將有助於別人。

感謝大家的幫助。