プロジェクトの 1 つで Swift 3.0 を試してみたいだけです。Xcode は移行ウィンドウを開き、Swift 3.0 を使用するようにプロジェクトを更新します。
問題は、プロジェクトを更新したいだけで、pod install
再実行後に変更が破棄されるため、Pods プロジェクトをそのままにしておくことです。
誰もがすでにその解決策を持っていますか?
あなたが求めていることは不可能です。Xcode は、Cocoapods の依存関係とプロジェクトをビルドします。Swift 2.x と Swift 3 のコードを同じプロジェクトに混在させたり、Swift 2.x で記述された Swift 3 で Cocoapod を使用したりすることはできません。
podfile の最後で次のコマンドを使用するだけで、pods ファイルがセットアップされ、フレームワークが Swift 3 コンパイラまたはレガシー コンパイラを自動的に取得するようになります。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
これを使用して、次のポッドファイルの例を見てください。end ステートメントが上で書いたブロックの前にないことを確認してください。
platform :ios, '8.0'
use_frameworks!
target 'Project 1'
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
Swift.orgから直接
Carthage/CocoaPods プロジェクトの使用
Xcode ワークスペースでプロジェクトと一緒にビルドされていない他のプロジェクトのバイナリ Swift モジュールを使用している場合は、次の移行戦略のいずれかを選択できます。
アップストリームのオープンソース プロジェクトが Swift 2.3 または Swift 3 に更新されるまで待ちます
プロジェクトを移行するには、次のワークフローに従うことができます。