2016-11-20 4 views
0

私は2.2で私のプロジェクトを作った。今私は3.0でコンパイルされたライブラリを使いたいと思います。どのように私はそれを使用することができます。Swift 3.0でコンパイルされたPODを2.2で作成したプロジェクトに使用する方法は?

私はNOとYES、およびUnspecifiedにレガシーを作りましたが、動作しませんでした。私がYesを実行すると、コードが3.0になっているのでエラーが多く発生し、2.2をベースにしたい。

今私は、文書の

pod 'EZSwipeController' 

そのスクリーンショットを何をすべき。

enter image description here

これはライブラリである

答えて

1

これに対する答えは非常に単純です:あなたはスウィフト2とスウィフト3つのコードベースを混在させることはできません。 Swift 3にプロジェクトをアップグレードするか(Swift 2に使用するライブラリをバックポートするか)。

+0

1.コードが巨大で、私は緊急に変換できません。締め切りは です。2.次に、3.0より速い古いバージョンはありません。 もう何がオプションですか? –

+0

締め切り日は現実を変えるものではありません。コードを移植するか、ライブラリコードを移植するか、ライブラリを使用しないか、古いバージョンかを選択する必要があります。 ABIとの互換性はSwift 4のためだけに計画されています。 – hnh

+0

EZSwipeControllerを見ると、これは実際には非常に小さいようです(100 loc?)。それがちょうどあなた自身のコードベースが大きければ、おそらくlibを移植するでしょう。 – hnh

1

これは私のプロジェクトと私でSwift 2.2コードを使用していますポッドを使用してEZSwipeControllerがインストールされ、プロジェクトが正常に実行されています。ここで

は、あなたのプロジェクト

はスクリーンショットを使用するレガシー・スウィフト言語設定ターゲットのビルド設定で、その後

enter image description here

を確認]を選択

まず、あなたが何をすべきかでありますこのようなバージョン:はい、このように

enter image description here

サイド・ナビゲーション選択ポッドから今

、その後EZSwipeControllerを選択し、この

enter image description here

のようにyesに使用レガシースウィフト言語バージョンを設定します。

これを変更することで動作します。

+0

また、Codoaのビルド設定での迅速な言語への変更が 'pod install'を通じて永続化されるように、CocoaPods 1.1.1にアップデートしてください。 – ericWasTaken

関連する問題