最後のXcodeアップデート(8.3)を実行したところ、次のメッセージが表示されました。
「Swift言語バージョン」(Swift_VERSION)は、Swiftを使用するターゲットに対して正しく構成する必要があります。[編集>変換>現在にSwift構文…]メニューを使用して、 Swiftバージョンまたはビルド設定エディターを使用してビルド設定を直接構成します。
「レガシーSwift言語バージョン)オプションがビルド設定から削除されたことを知って、どうすればアプリをSwift 2.3で生成できますか?今の変換?
できません。 XCode 8.2は、Swift 2.3をサポートする最後のバージョンでした。Swift 3に更新するか、Xcode 8.2を使用する必要があります。
プログラムで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
In 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フォルダーに移動してポッドファイルを開き、以下の簡単な変更を行います。
最初の変更:
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')
2番目の変更:
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 file、クリーンしてビルドします。