web-dev-qa-db-ja.com

Xcode 10でコマンドCompileSwiftがゼロ以外の終了コードで失敗した

こんにちは、

現時点で最新バージョンのXcode(バージョン10.0)に更新した後、プロジェクトは「Command CompileSwiftがゼロ以外の終了コードで失敗しました」というエラーに関するエラーを検出したため、ビルドできません。

どうすればこのエラーを解決できますか? 彼らは私が私のプロジェクトの中で使用するほとんどのPod(私はCocoaPodを使用します)に現れます。

ポッドバージョンとポッドを利用可能な最新バージョンに更新しようとしましたが、問題はまだあります。

私はウェブを通して多くのことを調べました、そしてこの問題に関する情報はほとんどありません。

よろしく。

67
Jordi Gámez

現在私のビルドは働いています。ここであなたはそれがついにうまくいくまで私が試みたステップです:

  1. プロジェクト全体でWord CommonCryptoを検索します。
  2. そのヘッダーインポートを含むPodがある場合は、そのPodをPodfileから削除してPodのインストールを実行します。
  3. プロジェクトをクリーンアップしてビルドします。
  4. PodをPodfileに再度追加して、Podのインストールを実行します。
  5. 可能であれば、実際のデバイスを使用してプロジェクトをクリーンアップしてもう一度ビルドしてください。

また、そのPodがない場合は、プロジェクトで発生する可能性がある古いPodで同じ手順を実行して試すこともできます。

追加情報:また、Pod内にコードエラーがある場合は、まずそのコードの問題を解決してから、プロジェクトをもう一度コンパイルしてください。

私のproject.pbxprojに加えられた変更をコピーします。あまり役に立ちませんが、gitの差分コミットで変更されたのはそれだけです:

Removed: BDC9821B1E9BD1B600ADE0EF /* (null) in Sources */ = {isa = PBXBuildFile; };
Added:   BDC9821B1E9BD1B600ADE0EF /* BuildFile in Sources */ = {isa = PBXBuildFile; };

これが役に立つことを願っています、

よろしく。

29
Jordi Gámez

私にとっては、単にクリーニングプロジェクトが ShiftCommandK & OptionShiftCommandK

23
Mahgol Fa

私はこの問題を抱えていて、プロジェクトのCompilation Mode設定をIncrementalからWhole Moduleに変更することでそれを修正しました。

enter image description here

17

エラーメッセージ全体を読んでいない可能性があります。 「Command CompileSwiftがゼロ以外の終了コードで失敗しました」というメッセージを見てみると、次のような指定があります。

enter image description here

この例では、同じ名前のファイルが2つあります。私がそれを修正したら、すべてがあるべきようにうまくいった。

10
Samy

アプリケーションをクリーンにして、もう一度使ってビルドしてみます。 ShiftOptionCommandK それから CommandB

10
Mohamad

私が抱えていた問題は、ネイティブのSwitf CommonCryptoが存在しないこと、ブリッジングヘッダーとターゲットを使用すること、そしてそれを何らかの魔法でビルドに含めることでした。 CommonCryptoがネイティブになったので、ターゲットと#importを削除して問題を解決し、代わりにそれを使用している場所にインポートCommonCryptoを追加しました。

8
Omid Ariyan

これはSwift 4.2およびXcode 10の既知の問題です。ここで自分で解決した記事を見つけました: https://github.com/Yummypets/YPImagePicker/issues/236

手短に言うと、プロジェクトのビルド設定に移動して、Swift_ENABLE_BATCH_MODEという名前のユーザー定義設定を追加し、その値をNOに設定します。

以前は、他の方法(再構築、Xcodeの終了、消去と再構築、派生データファイルの消去)で提案されている以下の各方法を試してみました。どれもうまくいきませんでした。

記事ごとにユーザー定義ビルド設定を追加すると、Swiftが真のエラーを教えてくれました。私の場合、それは欠けていました}、しかしそれはいくつもの問題である可能性があります。

7
cdeerinck

この問題に対する私の経験を共有しましょう。

ターゲットを開き - >ビルドフェーズ - >バンドルリソースのコピーとinfo.plistを削除します。

注:拡張機能を使用している場合は、その拡張機能のinfo.plistをTargetsから削除してください。

それが役に立てば幸い。

3
Gurunathan

私は以下をしました、そして、それは魅力のように働きます:

  • Xcodeの設定を開く(Command,
  • Locationsタブに移動します
  • Derived DataのURLパスを示す小さな灰色の矢印をクリックします。
  • Finderウィンドウが開き、以下のフォルダが表示されます。

    • DerivedData
    • Archives
    • iOS DeviceSupport
    • UserData
    • DocumentationCache
    • iOS Device Logs
  • Xcodeを終了

  • DerivedDataフォルダを削除します(以前のビルドのキャッシュが含まれているだけです)。
  • Xcodeを再起動
3
Mile Dev

私が試みた

  • Xcodeを閉じる/開く
  • ビルドフォルダーのクリーニング
  • pod install --repo-updateを実行する

そして、これらすべてがまだ問題を解決していません。 Macを再起動するとうまくいきました

3
codeherk

クラスの再宣言が問題になります。重複したクラスをチェックしてビルドしてください。

2

pod install --repo-updateを実行してxコードを閉じて再度開くと、このエラーが発生したすべてのポッドでこの問題が解決しました。

2
RickS

解決策は次のとおりです。 - ビルド設定に移動します - Swift_COMPILATION_MODEを検索します - これがリリース構成の「モジュール全体」である場合は、「増分」に変更します。 - 今すぐアーカイブ。

設定を "Incremental"に変更すると、処理は成功します。

2
Ankit Saini

私の名前空間の問題でした。同じ名前のファイルが2つありました。名前を変更するだけで解決しました。

別の場所を見る前に、必ず「バカな私」ボックスを最初にチェックしてください。 :)

2
PruitIgoe

私の場合は、メインプロジェクトのターゲットがSwift 4.2に設定されているのに、ウォッチキットの拡張機能がSwift 3に設定されていることが原因でした。

2
Itay Bianco

ERROR = Command CompileSwiftSourcesがゼロ以外の終了コードで失敗しました

私の場合このエラーを見つけたとき、私はコンパイルに窮屈になりました。しかし、私はいくつかの関連する問題の答えを見たとき。プロジェクトに重複ファイルが見つかりました。同じviewControllerがクラスファイルとして存在していた場所。それで、私はそれに気付いたとき私はそれを新しい名前に変えました。そしてええ事が変わった!

1
Harsh Vyas

ウェブ全体を検索しましたが、この問題に対する解決策が見つかりませんでした。 「ビルド設定でのインポートパス」セクションの「共通暗号」パスを削除しました。問題は、「common crypto」がios 12 SDKの基盤に存在していることです。

そう":

ビルド設定でファイル「common crypto」のパスを削除するだけで、プロジェクトは魅力的にビルドされます。 :)

1
sajede Nouri

これはかなりあいまいなエラーのようですので、この問題に遭遇したときに修正したことを共有します。

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

終わり

1
Tyler Kuntz

私にとっては、Swiftをビルドするために開いているシミュレータファイルが多すぎるというエラーメッセージが表示されました。シミュレータを終了して再度ビルドしたとき、すべてうまくいきました。

1
mef27

この質問に追加するだけです。私の問題はCommonCryptoとは何の関係もありませんでした。新しいシングルアプリケーションアプリケーションを作成し、実行することをテストしました。コンパイラがSwift 4.2の使用について文句を言っていました

ビルド設定でSwift言語をバージョン4.0に変更することで問題は解決しました。これがバグかどうかわからない。

1
Alexander

私は同じ問題にも遭遇し、@ cdeerinckが提案したことを行い、次の link にアクセスして、バッチモードを無効にするためにBuild Settingsにユーザー定義変数を追加することを提案しました。 Swift_ENABLE_BATCH_MODEという名前の定義された変数を作成し、それをNOに設定すると、問題についてより多くの洞察を得ることができ、エラーが)を使用するフレームワークにあることがわかりました(私が)それに追加したCommonCryptoしかしXcode 10以降はSwiftの一部としてネイティブに公開され(Appleプラットフォームのみ)、それを追加します(または以前のバージョンからの存在)。名前の衝突を引き起こしていたので、それはエラーを投げていました。もっと知るためには this link を参照してください。

1
Sudhanshu Vohra

私は同じ問題を抱えています、そして私の解決策はBuild Settingsでちょっとしたことを変更することです

Swift_COMPILATION_MODE = singlefile;
Swift_OPTIMIZATION_LEVEL = "-O";
1
Daniel Le

私はこれをランダムに手に入れました Xcode 10以降 。私はそれがビルドの開始中にコードの中で何かを変更するときに起こると思います。 次のビルドは毎回動きます。

1
fl034

私の場合、ビルドフェーズ入力ファイル of カルタゴフレームワークセクションに、フレームワークのエントリが重複していました。

0
niks