2017-10-19 32 views
0

私はcarthage bootstrap --platform iOSを実行しました。「互換性のないSwiftバージョン - フレームワークは3.1でビルドされ、ローカルバージョンは4.0です」というエラーでrealm-cocoa.frameworkバイナリをスキップしました。 "ビルドに失敗しました:タスクが終了コード65で失敗しました"エラー。Carthageビルドに失敗しました

それはderivedDataPathに私を指す、と私はそれは私が「PhaseScriptExecutionダウンロード\コア\と\同期/Users/user/Libary/Caches/org.carthage.CarthageKit/をお知らせ詳細はxcodebuildログをチェックしますDerivedData/9.0_9A ###/realm-cocoa/v2.10.2 /ビルド/中間体.noindex/Realm.build /リリース-iphoneos/Realm.build/Script-X#X#X#X#X.sh )」。

しかし、Realm Cocoaで何が起こっているのか、修正する方法はまだ分かりません。知っていますか?

+1

もう一度carthageコマンドを実行して、スイッチに--no-use-binariesを追加してみてください。これは、Swift 3.xの味の間の互換性の問題を扱う際に私のために働いたが、4.0で試したことはない。 –

+0

マイクが正しいです。'carthage bootstrap --platform iOS --no-use-binaries'を実行する場合は、複数のXcodeバージョンがインストールされている場合に備えて、コマンドラインのSwiftバージョンをXcodeのインクルードバージョンと同じにする必要があります。それは「迅速なバージョン」なので、4.0に戻るはずです。バージョンを確認したら、Carthageコマンドを実行すると完了します。 – Orlando

+0

@MikeTaverne私はそれを試してみました。問題にぶつかると、ほとんどの部分でうまくいきます。私は問題が深刻で、将来の問題を解決するために何かを追加する必要があるかどうかはわかりません – SRMR

答えて

2

TL; DR:あなたは、最新の迅速なバージョンを使用していることを確認には、Xcodeの9に含まれ、その後、実行carthage bootstrap --no-use-binaries --platform iOS --cache-builds

ロングバージョン:

構築しながらあなたはXcodeのからもらったエラーあなたのプロジェクト​​は、CarthageがRealm Frameworkのあらかじめ作成したバージョンをダウンロードするためにダウンロードされたものです。

この事前に構築されたバージョンでは、しかし、(この場合、エラーはV3.1を使用した指している。)スウィフトの以前のバージョンでコンパイルされたこの場合の解決策は、依存関係が異なるコマンドを使用してインストールを実行します:

carthage bootstrap --platform iOS --no-use-binaries

これは、依存関係が成功するために構築するプロジェクトのために動作します。とにかく、コマンドが実行されるたびにコアからRealm.frameworkとRealmSwift.frameworkを最初から構築するので、これは長い時間がかかるかもしれません。したがって、Carthageにビルド用のキャッシュを含めることは可能です。

  • ブートストラップ、そうCartfile.resolvedでバージョンが使用され、無アップデート:依存関係はカルタゴがします。このオプションでは

    carthage bootstrap --no-use-binaries --platform iOS --cache-builds

    でインストールすることができます。

  • --no-use-binaries(3.1バージョンの非互換性を回避することができる。)事前に構築されたフレームワークのダウンロードファイルとの依存関係を構築
  • --platform iOSをする場合にはApple TVのまたはMac OS用の建物のフレームワークを避けて、唯一のiOS上で使用するための依存関係を構築します依存関係はそれをサポートします。これで多くの時間を節約できます!
  • --cache-buildsカーテッジでは、ビルドされた依存関係をローカルキャッシュに保存して(必要に応じて使用する)ので、コマンドをもう一度実行しても、保存されたフレームワークをコピーして再構築する必要はありません。
関連する問題