新しいXcode 8 beta 4
CopySwiftLibs
ビルドフェーズ中に次のエラーが発生し始めました。
Effective srcDirs: {(
<DVTFilePath:0x7f865961e970:'/Volumes/Data/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/Swift/iphonesimulator'>,
<DVTFilePath:0x7f8657d02b20:'/Volumes/Data/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/Swift/iphonesimulator'>
)}
エラー:次のバイナリは、互換性のないバージョンのSwiftを使用しています。
/Users/user/Projects/git/iphone-Swift-1/DerivedData/myApp/Build/Products/Debug-iphonesimulator/myApp.app/myApp
/Users/user/Projects/git/iphone-Swift-1/myApp/myAppApi.framework/myAppApi
myAppApiは、いくつかの共有コードを含むワークスペース内のサブプロジェクトです(Alamofire
を使用します)。
注意すべき点が1つあります。元々、プロジェクトをSwift 2.2からSwift= 2.3に変換してから、手動で3.0にアップグレードしました。
このエラーの原因は何ですか?
ありがとう!
私は同じ問題を抱えていましたが、どうにかしてfix it
Xcode 8でSwift 3。
コンテナアプリのコードのシナリオがSwift 2.3であり、Xcode 8で新しい拡張機能を作成している場合、この問題も発生します。
上記のシナリオを解決するには...
注:すべてのコードは、失敗せずにコンパイルするために、同じSwift(互換)バージョンである必要があります。
そうは言っても、この問題を解決できる1つの方法は、Swift 2.3に固執し、拡張ターゲットのレガシーSwift Language Version to "Yes"を使用します。
このオプションは、Xcode 8が開いているときに次のように見つけることができます。
注:拡張テンプレートは元々Swift 3.にあったため、オーバーライドされたコードを修正する必要がある場合があります。
何かする前に...
(プロジェクトと互換性のあるXcode 8.0を使用できる場合)
デフォルトでは、プロジェクトはXcode 3.2互換に設定されています
プロジェクトをビルドしてみてください。
動作しない場合は、提案されている他のソリューションを試してください。
注:エラーを修正してからXcode 3.2互換に戻すこともできますが、動作するはずですが、後で他のビルドの問題が「発生する可能性があります」。
推奨事項:既存のプロジェクトをデバッグする前に。プロジェクトを作成したときにGitリポジトリを作成しなかった場合は、プロジェクトを閉じてプロジェクトファイルのコピーをZipします。
プロジェクトの埋め込みバイナリを削除して、これを修正しました。これをする:
注1:「リンクされたフレームワークとライブラリ」セクションからそれらを削除する必要はありません(「埋め込みバイナリ」から削除すると自動的に削除されます)。
注2:私は多くの依存関係があり、CocoaPodsを使用しています。 「埋め込みバイナリ」には何もありませんが、「リンクされたフレームワークとライブラリ」セクションには「Pods_ [YourApplicationName] .framework」しかありません。
カルタゴ経由でさまざまなライブラリを統合しました。しかし、プロセス中にそれらの一部をココアポッドに切り替え、古い.frameworks
プロジェクトターゲットのファイル。
それらを削除すると、ビルドエラーが解決しました。
同じ問題がありました。私の解決策は、「myApp」ディレクトリの名前を「myAppmyApp」に変更してから、アプリを再度実行することでした。新しい「myApp」ディレクトリが作成され、iPhoneでアプリが非常によく動作するようになりました。
あなたの状況との違いはこれかもしれません:私のアプリの名前、たとえば「DerivedData」ディレクトリの「myApp」は「-」と連結されたmyAppでした
たぶんこれはあなたを助けるでしょう。
Swift 3バージョンのフレームワークを追加した後、同じエラーメッセージが表示されました。
私のターゲットframework search path
はまだSwift 2とSwift 3の同じフレームワークのバージョンであるため、私のプロジェクトはSwift 2.3バージョン。
私にとっての解決策は、プロジェクトフレームワークから古いフレームワークを削除し、そのフォルダー参照をframework search path
。
すべての依存関係をSwift 3
に切り替える必要があります。あなたの場合、AlamofireはSwift 3
ブランチに切り替える必要があります