我刚做了最后一次Xcode更新(8.3),我收到了消息:
需要为使用Swift的目标正确配置“Swift语言版本”(SWIFT_VERSION)。使用[编辑>转换> To Current Swift Syntax ...]菜单选择Swift版本或使用Build Settings编辑器直接配置构建设置。
了解"使用Legacy Swift语言版本"选项刚刚从构建设置中删除,如何在不进行任何转换的情况下在Swift 2.3中生成我的应用程序?
答案 0 :(得分:18)
答案 1 :(得分:11)
你做不到。 XCode 8.2是支持Swift 2.3的最后一个版本。您必须更新到Swift 3或使用Xcode 8.2。
答案 2 :(得分:4)
要以编程方式更改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
答案 3 :(得分:3)
答案 4 :(得分:2)
你不能因为XCode 8.2是支持Swift 2.3的最后一个版本。您必须将代码更新为Swift 3或使用Xcode 8.2。
答案 5 :(得分:2)
答案 6 :(得分:2)
答案 7 :(得分:0)
已更新,它对我有用:
步骤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文件夹并打开yourProjectName.xcworkspace文件;
Add an empty Swift file to your Flutter iOS project in Xcode and accept to add bridging header.
第3步: 打开终端,然后使用以下命令再次安装;
pod install
如果项目已经打开,则将其关闭并再次打开,即yourProjectName.xcworkspace文件,清理并构建。