2017-11-01 16 views
2

XCode 9.1に更新されました.XCode 9.0.1およびRealm 3.0.0で実行されていたプロジェクトをコンパイルしようとすると、私は自分のコードSwift 4.0でコンパイルされたRealmのSwiftモジュールはSwift 4.0.2にインポートできません

import RealmSwift 

におけるレルムのインポートでメッセージ「スウィフト4.0でコンパイルされたモジュールは、スウィフト4.0.2にインポートすることはできません」: - レルム3.0.1 に更新は - 私のプロジェクトにフレームワークを再インストール - Xcodeの機能でプロジェクトをクリーンアップ

レルム3.0.1パッケージにはSwift-4.0.2フォルダはなく、Swift-4.0のみです。

レルム3.0.1はXcode 9.1と互換性がありますか?もしそうなら、私はそれを動作させるために何をすることができますか?そうでない場合は、新しいバージョンが作成されていますか?

ありがとうございました。

よろしく クリスチャン

+0

私はAlamofireと同じ問題がありました。私はCarthage(コピーフレームワークファイル)で再コンパイルしました。私は再び起動しています –

+0

ありがとう。これは私を助けた。 –

答えて

0

私はしかし、モジュールSocketIOと、同じ問題がありました。 Carthageを使ってフレームワークを再コンパイルすることは私の仕事でした。その後もビルドフォルダをきれいにする必要がありました。

+0

ありがとうございます。これも私のために働いた。私はカーセージを使っていませんでしたが、今ではこの問題を解決しました。 –

3

Swift 4.0.2はSwift 4.0とABI互換ではないため、依存関係として使用するバイナリは再コンパイルする必要があります。

2つのアプローチがここに合理的である:あなたのためのレルムを再構築します

  1. 使用カルタゴ
  2. Carthageを使用していない場合や、自分自身でRealmを構築したくない場合は、外部Swift 4.0 ToolchainをインストールしてXcode - >設定 - >コンポーネント - >ツールチェーンの中から選択してください。 Realmがアップデートをリリースするまで、Xcode 9.0 swift toolchainを使用して戻ってきました。
+0

SwiftのパッチリリースでABIとの互換性が損なわれるのは面倒です。 – NRitH

+0

ABIの問題がリリース後に実際に見つかったのであれば、彼らは選択肢がないと思います。リリースサイクルが問題の実際のルートである場合は確信しています。 Swift 10.0でABIの安定性をソートすることを望みましょう) – ambientlight

関連する問題