2014-06-11 206 views
3

所以我想將一些Swift代碼添加到在XCode 5中創建的現有項目中,並且每當我嘗試自動生成橋接標頭時都會崩潰。看看我的項目設置,我認爲這是因爲沒有Swift編譯器設置。任何人都知道將項目遷移到XCode 6設置的方法,還是需要重新創建項目?XCode 5項目中沒有Swift設置

+0

快速支持需要Xcode6 –

+0

@PaulDardeau我想你誤解了我的問題。我有一個用Xcode 5創建的Objective C項目,我在Xcode 6中打開。但是,我無法添加Swift文件,因爲當我嘗試創建橋接標頭時,Xcode崩潰。我認爲這與缺少的Swift編譯器構建設置有關。 – JonahGabriel

+0

對我來說,swift編譯器設置不會顯示,直到我生成橋頭,所以我懷疑你的問題在別處。 –

回答

7

我發現的唯一解決方案是創建一個新目標。確保選擇「Swift」作爲新目標的語言選擇。使用此選項創建目標時,會啓用Swift構建設置。

更新:創建一個包含Swift的新目標,因爲它包含的內容而工作。當我從新目標中移除模板Swift文件時,特定於Swift的構建設置再次從項目中消失。

Xcode是否顯示這些構建設置的真正指示是目標是否至少包含一個.swift文件。所以,最簡單的解決方案是簡單地添加一個新的Swift文件。這也觸發了Xcode提示你自動創建一個Objective-C橋接頭 - 在任何有Objective-C的項目中你都需要它。

+0

嗯,我想這就是我最終做的。 – JonahGabriel

0

我能夠通過手動將一些Swift設置添加到project.pbxproj文件來解決此問題。

在PBXProject部分的屬性塊,添加:

LastSwiftUpdateCheck = 0720; 

在XCBuildConfiguration部分,此添加到Debug構建設置爲項目(設置的第一和更大的塊):

SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 

這增加了調試版本設置爲目標:

OTHER_SWIFT_FLAGS = "-DDEBUG"; 

而這個爲目標的發佈版本設置:

OTHER_SWIFT_FLAGS = ""; 

當重新打開項目,雨燕的設置將可用。