我刚做了最后一次Xcode更新(8.3),我收到了消息:
对于使用Swift的目标,需要正确配置“Swift语言版本”(SWIFT_VERSION)。使用[Edit> Convert> To Current Swift Syntax ...]菜单选择Swift版本或使用Build Settings编辑器直接配置构建设置。
知道刚刚从构建设置中删除了“使用Legacy Swift语言版本”选项,如何在不进行任何转换的情况下在Swift 2.3中生成我的应用程序?
你不能。 XCode 8.2是支持Swift 2.3的最后一个版本。您必须更新到Swift 3或使用Xcode 8.2。
要以编程方式更改pod的swift版本,您可以在Podfile中添加它
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['Alamofire','OtherPod','AnotherPod'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
end
在Swift 4中,如果你也使用objective-c,
你可以打开@objc推理,这样swift项目就能在objective-c上正常运行。
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['Alamofire','OtherPod','AnotherPod'].include? target.name
target.build_configurations.each do |config|
config.build_settings['SWIFT_SWIFT3_OBJC_INFERENCE'] = 'On'
end
end
end
end
你不能因为XCode 8.2是支持Swift 2.3的最后一个版本。您必须将代码更新为Swift 3或使用Xcode 8.2。
更新,它适合我:
第1步:转到您的ios文件夹并打开podfile并执行以下简单更改;
第一次改变:
target 'Runner' do
use_frameworks! # <--- add this single line
# Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
# referring to absolute paths on developers' machines.
system('rm -rf .symlinks')
system('mkdir -p .symlinks/plugins')
第二个变化:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings['SWIFT_VERSION'] = '3.2' # <--- add this single line
end
end
end
第2步:从Xcode打开您当前的工作项目,即转到ios文件夹并打开您的ProjectName.xcworkspace文件;
Add an empty Swift file to your Flutter iOS project in Xcode and accept to add bridging header.
步骤3:打开终端并使用以下命令再次安装;
pod install
如果项目已经打开,则关闭它并再次打开,即yourProjectName.xcworkspace文件,清理并构建。