我有一個大型 Xcode 專案,其中包含混合的 Swift 和 Objective C 代碼庫。我的目標之一是 QuickLook 插件,它不使用任何 Swift 檔案。
在構建 QuickLook 目標時,每個參考 ObjC 類(在主目標中正確橋接)的 Swift 檔案都會報告“Cannot find type in scope”錯誤——即使這些 Swift 類都不包含在給定目標中。
我已經嘗試更改SWIFT_COMPILATION_MODE為singlefile發布和除錯,但它沒有幫助。為了絕對確保沒有 Objective C 類在這個目標中匯入任何 Swift 檔案,我還設定了一個前處理器宏來保護Project-Swift.h檔案的包含。在構建時,我找不到完全跳過 Swift 編譯階段的標志。
無論我做什么,無論他們的目標成員身份如何,Swift 都會自動編譯嗎?
uj5u.com熱心網友回復:
對于其他在未來為此苦苦掙扎的人:
編譯 QuickLook 擴展時,即使對于模擬器,它也會嘗試編譯可能包含它的任何其他目標。我有一個舊的構建目標,不再維護。在某些時候,該目標的橋接頭落后于實際專案,并且由于某種原因,Xcode 為每個 Swift 類拋出了一個錯誤。
遍歷所有包含您的擴展的目標,甚至是測驗,并確保它們編譯正確,或者完全洗掉它們。
這些錯誤與日志或 UI 中的特定目標無關,這可能是 Xcode 錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468371.html
