ビルドのプリアクションとしてcarthage update --platform iOS
を実行する単純なkshスクリプトがあり、Xcode 10にアップデートすると失敗し始めました。ターミナルでコマンドを実行すると、Carthage
フォルダーが正常に生成されます。
この問題を再現するには、Xcodeを終了し、DerivedData
およびCarthage
フォルダーを削除します。次に、Xcode 10を開いてビルドを試みます。
私が得るエラー:
<unknown>:0: error: unable to load standard library for target 'arm64-Apple-ios8.0-simulator'
** ARCHIVE FAILED **
The following build commands failed:
CompileSwift normal armv7
CompileSwiftSources normal armv7 com.Apple.xcode.tools.Swift.compiler
CompileSwift normal arm64
CompileSwiftSources normal arm64 com.Apple.xcode.tools.Swift.compiler
(4 failures)
Build Failed
Cartfile
はAlamofire 4.7.3を指しますcarthage bootstrap
を使用しても機能しませんでしたenv -i
を使用しましたが、機能しませんでしたxcodebuild
に渡す この回答にあります。 これにより、チェックアウトとビルドで構成される独自のcarthage update
を作成する必要があります。このオプションのみがXcodeビルドのアクション前のステップとして機能しました。 ソリューションがテストされました。solutionそのworkedは、カルタゴ更新を実行する直前に、XCode 10からの環境変数の1つを設定解除することでした:
lLVM_TARGET_TRIPLE_SUFFIXの設定を解除
カルタゴアップデート
私の場合、macOSを再起動すると問題が解決しました。
私は実際にそのトリックを実行する方法とその方法を見つけました:
カルタゴ更新コマンドの後に有効なコマンドを1つ書き込みます
このチェックリストに従ってください:
コマンドラインツールがXcode 10.1を使用するように設定されていることを確認します。ターミナルから次のコマンドを実行します。
Sudo xcode-select -s <path to Xcode 10.1>/Contents/Developer
スクリプトファイルに必要な権限があることを確認します。
chmod 777 <path-to-script-file>
carthage update
コマンドの後に、1つの有効なコマンドを書き込みます。例:echo succeed
(これで実際にうまくいきます):
テストされた環境:
Carthage 0.31.2
Xcode 10.1
作業デモ
https://github.com/MojtabaHs/Carthage-WorkingDemo
これは問題の説明されている問題の単なるハックであり、すべてのカルタゴの問題ではないことに注意してください。