こんにちは、
現時点で最新バージョンのXcode(バージョン10.0)に更新した後、プロジェクトは「Command CompileSwiftがゼロ以外の終了コードで失敗しました」というエラーに関するエラーを検出したため、ビルドできません。
どうすればこのエラーを解決できますか? 彼らは私が私のプロジェクトの中で使用するほとんどのPod(私はCocoaPodを使用します)に現れます。
ポッドバージョンとポッドを利用可能な最新バージョンに更新しようとしましたが、問題はまだあります。
私はウェブを通して多くのことを調べました、そしてこの問題に関する情報はほとんどありません。
よろしく。
現在私のビルドは働いています。ここであなたはそれがついにうまくいくまで私が試みたステップです:
また、そのPodがない場合は、プロジェクトで発生する可能性がある古いPodで同じ手順を実行して試すこともできます。
追加情報:また、Pod内にコードエラーがある場合は、まずそのコードの問題を解決してから、プロジェクトをもう一度コンパイルしてください。
私のproject.pbxprojに加えられた変更をコピーします。あまり役に立ちませんが、gitの差分コミットで変更されたのはそれだけです:
Removed: BDC9821B1E9BD1B600ADE0EF /* (null) in Sources */ = {isa = PBXBuildFile; };
Added: BDC9821B1E9BD1B600ADE0EF /* BuildFile in Sources */ = {isa = PBXBuildFile; };
これが役に立つことを願っています、
よろしく。
私にとっては、単にクリーニングプロジェクトが ShiftCommandK & OptionShiftCommandK。
アプリケーションをクリーンにして、もう一度使ってビルドしてみます。 ShiftOptionCommandK それから CommandB。
私が抱えていた問題は、ネイティブのSwitf CommonCryptoが存在しないこと、ブリッジングヘッダーとターゲットを使用すること、そしてそれを何らかの魔法でビルドに含めることでした。 CommonCryptoがネイティブになったので、ターゲットと#importを削除して問題を解決し、代わりにそれを使用している場所にインポートCommonCryptoを追加しました。
これはSwift 4.2およびXcode 10の既知の問題です。ここで自分で解決した記事を見つけました: https://github.com/Yummypets/YPImagePicker/issues/236
手短に言うと、プロジェクトのビルド設定に移動して、Swift_ENABLE_BATCH_MODEという名前のユーザー定義設定を追加し、その値をNOに設定します。
以前は、他の方法(再構築、Xcodeの終了、消去と再構築、派生データファイルの消去)で提案されている以下の各方法を試してみました。どれもうまくいきませんでした。
記事ごとにユーザー定義ビルド設定を追加すると、Swiftが真のエラーを教えてくれました。私の場合、それは欠けていました}、しかしそれはいくつもの問題である可能性があります。
この問題に対する私の経験を共有しましょう。
ターゲットを開き - >ビルドフェーズ - >バンドルリソースのコピーとinfo.plistを削除します。
注:拡張機能を使用している場合は、その拡張機能のinfo.plistをTargetsから削除してください。
それが役に立てば幸い。
私は以下をしました、そして、それは魅力のように働きます:
Locations
タブに移動しますDerived Data
のURLパスを示す小さな灰色の矢印をクリックします。Finderウィンドウが開き、以下のフォルダが表示されます。
DerivedData
Archives
iOS DeviceSupport
UserData
DocumentationCache
iOS Device Logs
Xcodeを終了
DerivedData
フォルダを削除します(以前のビルドのキャッシュが含まれているだけです)。私が試みた
pod install --repo-update
を実行するそして、これらすべてがまだ問題を解決していません。 Macを再起動するとうまくいきました 。
クラスの再宣言が問題になります。重複したクラスをチェックしてビルドしてください。
pod install --repo-update
を実行してxコードを閉じて再度開くと、このエラーが発生したすべてのポッドでこの問題が解決しました。
解決策は次のとおりです。 - ビルド設定に移動します - Swift_COMPILATION_MODEを検索します - これがリリース構成の「モジュール全体」である場合は、「増分」に変更します。 - 今すぐアーカイブ。
設定を "Incremental"に変更すると、処理は成功します。
私の名前空間の問題でした。同じ名前のファイルが2つありました。名前を変更するだけで解決しました。
別の場所を見る前に、必ず「バカな私」ボックスを最初にチェックしてください。 :)
私の場合は、メインプロジェクトのターゲットがSwift 4.2に設定されているのに、ウォッチキットの拡張機能がSwift 3に設定されていることが原因でした。
ERROR = Command CompileSwiftSourcesがゼロ以外の終了コードで失敗しました
私の場合このエラーを見つけたとき、私はコンパイルに窮屈になりました。しかし、私はいくつかの関連する問題の答えを見たとき。プロジェクトに重複ファイルが見つかりました。同じviewControllerがクラスファイルとして存在していた場所。それで、私はそれに気付いたとき私はそれを新しい名前に変えました。そしてええ事が変わった!
ウェブ全体を検索しましたが、この問題に対する解決策が見つかりませんでした。 「ビルド設定でのインポートパス」セクションの「共通暗号」パスを削除しました。問題は、「common crypto」がios 12 SDKの基盤に存在していることです。
そう":
ビルド設定でファイル「common crypto」のパスを削除するだけで、プロジェクトは魅力的にビルドされます。 :)
これはかなりあいまいなエラーのようですので、この問題に遭遇したときに修正したことを共有します。
Xcode 10.1とSwift 4.2を使う私はここでほとんどすべての提案を試みましたが、どれも私のために働きませんでした、それから私が使っていた依存関係がSwift 4.2と互換性がないことに気付きました。それでそれを修正するために私はちょうど私のPodfile
の最後にこれを置くことによってそのポッドにSwift 4.0を使わせる必要がありました:
post_install do |installer|
installer.pods_project.targets.each do |target|
if ['TKRadarChart'].include? target.name
target.build_configurations.each do |config|
config.build_settings['Swift_VERSION'] = '4.0'
end
end
end
終わり
私にとっては、Swiftをビルドするために開いているシミュレータファイルが多すぎるというエラーメッセージが表示されました。シミュレータを終了して再度ビルドしたとき、すべてうまくいきました。
この質問に追加するだけです。私の問題はCommonCryptoとは何の関係もありませんでした。新しいシングルアプリケーションアプリケーションを作成し、実行することをテストしました。コンパイラがSwift 4.2の使用について文句を言っていました
ビルド設定でSwift言語をバージョン4.0に変更することで問題は解決しました。これがバグかどうかわからない。
私は同じ問題にも遭遇し、@ cdeerinckが提案したことを行い、次の link にアクセスして、バッチモードを無効にするためにBuild Settingsにユーザー定義変数を追加することを提案しました。 Swift_ENABLE_BATCH_MODEという名前の定義された変数を作成し、それをNOに設定すると、問題についてより多くの洞察を得ることができ、エラーが)を使用するフレームワークにあることがわかりました(私が)それに追加したCommonCryptoしかしXcode 10以降はSwiftの一部としてネイティブに公開され(Appleプラットフォームのみ)、それを追加します(または以前のバージョンからの存在)。名前の衝突を引き起こしていたので、それはエラーを投げていました。もっと知るためには this link を参照してください。
私は同じ問題を抱えています、そして私の解決策はBuild Settingsでちょっとしたことを変更することです
Swift_COMPILATION_MODE = singlefile;
Swift_OPTIMIZATION_LEVEL = "-O";
私はこれをランダムに手に入れました Xcode 10以降 。私はそれがビルドの開始中にコードの中で何かを変更するときに起こると思います。 次のビルドは毎回動きます。
私の場合、ビルドフェーズの入力ファイル of カルタゴフレームワークセクションに、フレームワークのエントリが重複していました。