在一個較舊的項目中我在幾個地方使用了TARGET_OS_IPHONE預編譯器宏來實現一些特定於iOS的東西。Xcode TARGET_OS_IPHONE似乎困惑,錯誤或配置錯誤?
這用於在過去良好工作,但目前Xcode似乎有這樣的宏「倒置」,即代碼完成不能在#if TARGET_OS_IPHONE
塊內工作,即使我的構建目標是iOS應用程序。也沒有語法突出顯示。它的語法突出顯示和代碼完成#else
塊中的內容應該只發生在macOS目標上。 據我所知,雖然編譯正確,但編輯器似乎很困惑。這使編輯代碼非常惱人。我正在使用Xcode 8.1 GM。
可能這是一個Xcode錯誤,或者有可能在我的項目中有一些配置搞砸了嗎?看起來Xcode正在尋找錯誤的頭文件。當我在CMD單擊TARGET_OS_IPHONE
宏,它定位到該文件:
具有適用於MacOS宏值,而不是適用於iOS的那些:
#define TARGET_OS_OSX 1
#define TARGET_OS_IPHONE 0
看來,它選擇錯誤的SDK。不知道在哪裏看/改變回正常。我查看了目標構建設置,並且它們看起來沒問題。
謝謝!
你有沒有提到這個,http://stackoverflow.com/a/3748348/6742121? @Jakob – KAR
是的,謝謝 - 目標的構建和運行良好,但這個問題的建議並沒有緩解我所看到的問題。 – Jakob