web-dev-qa-db-ja.com

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

最近Xcodeをバージョン10に更新し、プロジェクトをビルドしようとすると奇妙なエラーを受け取り始めました。現在Swift 4.0を使用していますが、Swiftバージョン4.2にアップグレードしようとしました。しかし、多くのフレームワークでこの同じエラーを受け取りました。

コマンドコンパイルSwiftはゼロ以外の終了コードで失敗しました

これまでに、派生フォルダーを削除しました。以下の端末コマンドを使用して、すべてのポッドを更新し、すべてのポッドを削除して再インストールしました。

Sudo gem install cocoapods-deintegrate cocoapods-clean
pod deintegrate
pod clean
pod install

これは私の問題を解決するために機能しませんでした。ただし、arm64Build Setting -> valid architecturesアーキテクチャを追加し、自動コードを有効にする機能があるものを見つけました。

さらに、フレームワークに関係する他のいくつかのビルドエラーがあります。

SwiftMessages

タイプ「SwiftMessages.Config」の値にメンバー「presentationContext」がありません

WhatsNewKit

呼び出しのパラメーター 'backgroundColor'の引数がありません

これらの各フレームワークの開発者に問題を公開して、これらの問題の支援を求めました。

SwiftMessage GitHubの問題WhatsNewKit GitHubの問題

presentationContextをクリックすると、SwiftMessages Framework内の構造体が表示されます。通常、「メンバーがいません」という警告が表示されたら、クリックして元の場所を確認することはできません。

これはココアポッドと関係があると思いますが、まだ解決策を見つけることができていません。この問題を修正するにはどうすればよいですか?誰かが助けていただければ幸いであるが、今はこれにこだわっている。

更新:2つのフレームワークの最新ビルドはSwift 4.2用でした。各フレームワークのバージョンをSwift 4.0でビルドされたものに変更すると、プロジェクトをビルドすることができました。

17
Spencer Shelton

プロジェクトのSwift言語バージョンが適切なバージョンであることを確認してください。 SwiftMessages 6.0.0はSwift 4.2で動作します。 Xcode->Project->Target->Build Settings->Swift Language Version

4
Karim Karimov

ポッドSwiftMessagesの場合、アプリがSwift 4.2ではない場合、バージョン5.01ポッド「SwiftMessages」、「〜> 5.0.1」を使用する必要があります

そしてそれは魅力のように機能します

Swiftバージョンを4.2に設定してから、ポッドの統合解除、ポッドのインストール、この問題の修正を行います。ありがとう@alejandro-iván

3
yybot

いくつかのフレームワーク(自社開発)とアプリがありました。どういうわけか、彼らはSwiftバージョンまで同期がとれなくなっていました。すべてのフレームワークが同じバージョンであることを確認してください。私の場合、それらはすべてSwift 4.2に設定する必要がありました。 4.2への移行をまだ行っていない場合は、Xcodeがこれに役立つことを忘れないでください:編集->変換->現在のSwift構文。

2
Phantom59

プロジェクトのビルド設定最適化レベル最適化なし[-Onone]であることを確認してください。

enter image description here

2
ram

Xcode 10.2でも同じ問題が発生しました。Xcodeのバグです。そのため、古いXcodeバージョン(9.4)で開いたところ、問題なく動作しました。それから、リリース後にXcode 10.2.1に更新しました->プロジェクトをクリーンおよびビルドし、問題を解決しました。

1
Fuhad saneen

答えはすべて私に役立ちました。私の場合、フレームワークを手動でインストールするだけですが、この種の問題も発生します。私はすべての答えを試してみましたが、ビルド中にこの問題が発生していました。奇妙なことに、コーディング中に、cmdキーを押しながらクリックして、すべての「不足している」コンポーネントを解決できました。また、派生データをクリーンアップして削除し、Xcodeを再起動しました。

私は最終的に、これらの追加の手順を誘導することで機能しました。

フレームワークプロジェクト/ターゲットのeach(自分のものを含む):

  • Swiftバージョンの一貫性を確認します(私の場合は4.2)
  • アクティブアーキテクチャのみのビルドをNoに設定します
  • 有効なアーキテクチャをarm64、armv7に設定します(ベースプロジェクトと一致させるため)
  • 最適化レベルをNone(デバッグ用)に設定します
  • Compilation ModeをWholeに設定します
1
Tommie C.

私はこのように解決しました:

  1. 。podファイル内のすべてのポッドにコメントを付けます
  2. ターミナルから、コマンドpod install --no-repo-updateを実行します
  3. Xcodeを開き、プロジェクトのクリーンとリビルドを実行します
  4. 。podファイルを開き、最初のライブラリのコメントを解除します
  5. ターミナルから、コマンドpod installを実行します

。podファイル内の各コメント解除ライブラリについて、手順2-3-4 -5を繰り返します。

あなたの助けになることを願っています。

1
Diego

私は同じ問題を抱えています、私のXcodeバージョンは10.2.1(10E1001)、Cocoapodsバージョンは1.7.0.beta.2です。

Cocoapods 1.6.1に戻り、問題は解決しました。具体的な手順は次のとおりです。

  1. pod deintegrate統合をキャンセルします。
  2. すべてのCocoapodをアンインストールします。

    for i in $( gem list --local --no-version | grep cocoapods );
    do
        gem uninstall $i;
    done
    
  3. Cocoapodsの安定バージョンをインストールします。現時点では1.6.1です。

    gem install cocoapods
    
  4. プロジェクトをクリーンにし、DerivedDataを空にします⁩

  5. pod install
  6. プロジェクトを再コンパイルする
0
Vincent

Xcode 10.2およびSwift 5.にアップグレードするときに、この問題に出くわしました。すべてを試した後、リリースノートでこれを見つけました。

Swiftコンパイラーは、スレッドサニタイザーが有効になっていると、ビルド中にクラッシュする場合があります。 (48719789)

確かに、スレッドサニタイザーをオフにすると、プロジェクトをエラーなしで再度コンパイルできます。

このエラーが発生し、スレッドサニタイザーが有効になっている場合は、オフにしてください!

0
andlin

私の場合、シミュレータではなく実際のiPhoneを接続し、アプリを1回実行すると問題が解決しました。ただし、まずiphoneを接続してから、このメニューからiphoneを選択し、実行ボタンを押します。問題も解決します。

enter image description here

0
genius

私の場合、それはコードエラーでした:

self.myDto.map{ (dto)} in 
      var stringValue = (dto.value(forKey: "name") as! String)
      stringValue.append("c")
      return stringValue
}

stringValue変数を削除するだけで問題が修正されました。

0

同じエラーメッセージが表示されただけで、この質問とこの質問の重複した回答のいずれも、私のプロジェクトに当てはまらないか、役に立ちました。私はエラーメッセージを読み続け、1つを変更するつもりで同じ名前の異なるフォルダにある2つの別々のSwiftファイルに愚かな名前を付けていたことに気付きましたが、1つを変更する前に、私は試しました私のプロジェクトを実行し、最後の1時間悩まされました。

結論として、誤ってファイルに同じ名前を付けて、エラーコードを完全に読み取らないでください。

0
Superlative