我希望我的iOS應用程序的主模塊編譯雨燕4.0,而的CocoaPods模塊編譯迅速3.如何使用Swift 3中的Pod使用Swift 4.0構建xcode 9項目?
PS:使用Xcode的9測試版2.
我希望我的iOS應用程序的主模塊編譯雨燕4.0,而的CocoaPods模塊編譯迅速3.如何使用Swift 3中的Pod使用Swift 4.0構建xcode 9項目?
PS:使用Xcode的9測試版2.
最後我得到它的工作:我所要做的就是把這個腳本Podfile的末尾:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
設置雨燕4.0,除了框架所有的這些目標要雨燕3.2
這就是我正在做的一個項目
如果您使用寫在斯威夫特4一些豆莢,但有些是雨燕3.2,這裏是你可以指定他們SWIFT_VERSION價值的方式:
swift_32 = ['Pod1', 'Pod2', 'Pod3'] # if these pods are in Swift 3.2
swift4 = ['Pod4', 'Pod5', 'Pod6'] # if these pods are in Swift 4
post_install do |installer|
installer.pods_project.targets.each do |target|
swift_version = nil
if swift_32.include?(target.name)
swift_version = '3.2'
end
if swift4.include?(target.name)
swift_version = '4.0'
end
if swift_version
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = swift_version
end
end
end
end
這應該是公認的答案,因爲它允許修訂,因爲庫已更新到Swift 4. – MandisaW
項目導航>選擇「窗格」>選擇Swift 3.2 Pod>'Build Settings'>向下滾動,然後在'Swift Compiler - Language section'中將Swift Language Version設置爲3.2。
在執行此操作時,Xcode將顯示一個Buildtime問題。它會要求你將Pod的源代碼轉換成Swift 4.不要那樣做。點擊該問題>取消選中「提醒我」>點擊「稍後轉換」。
項目導航
構建設置
迄今爲止最簡單的答案(Y) –
我喜歡這個答案,你好嗎? – fullMoon
這是一種較詳細的方式來設定你需要3.2艙體,並留下所有其他在4.0
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['AirMapSDK', 'PhoneNumberKit', 'Lock', 'RxSwift', 'RxSwiftExt', 'RxCocoa', 'RxDataSources', 'ProtocolBuffers-Swift'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.2'
end
end
end
end
J最後修改if語句中的數組。一切將默認爲4.0
也與我一起工作。但是您需要每次按下構建才能生效,並且錯誤消息將消失。 –