4

異なるバージョンの AFNetworking を指定する 2 つのポッド (JGAFImageCache と ADNKit) を使用しようとしています。これが私のPodfileです:

platform :ios, '7.0'
pod 'AFNetworking'
pod 'ADNKit'
pod 'JGAFImageCache'
pod 'DerpKit'
pod 'SVProgressHUD'
pod 'SSKeychain'
pod 'iOS7Colors', '~> 2.0.0'

を実行するpod installと、次のメッセージが表示されます。

[!] ADNKit (1.3.1) はAFNetworking (~> 1.3.0)', but already activated version、Podfile、AFNetworking (2.0.0-RC3)、AFNetworking/Core (2.0.0-RC3)、AFNetworking/Core (2.0.0-RC3) によって 2.0.0-RC3' のアクティブ化を試みます)、AFNetworking/コア (2.0.0-RC3)、および AFNetworking/コア (2.0.0-RC3)。

AFNetworking を削除して ADNKit に依存するとv1.3.0、次のようになります。

[!] JGAFImageCache (1.1.0) はAFNetworking (~> 1.2.0)', but already activated versionADNKit (1.3.1) で 1.3.3' を活性化しようとします。

喜んで協力させていただきv1.3.1ます; AFNetworking の最新バージョンは必要ありません。

JGAFImageCache と ADNKit がどのバージョンの AFNetworking を使用するかについて争うのを止めるにはどうすればよいですか?

4

1 に答える 1

6

明らかに、最善の策は、それらの開発者に問題を報告して、最新の依存関係を使用することです。問題は、これらのポッドが変更されないように AFNetworking の API に依存しているため、新しいバージョンを使用しようとして API の一部が削除されている場合に問題が発生する可能性があることです。

別のアプローチは、それらのリポジトリをフォークしてから、ポッドファイル内の依存関係を自分で変更して、両方が同じ依存関係を使用するようにすることです。次に、アプリのポッドファイルをポイントして、フォークされたリポジトリからそれらをインストールします。これにより何かが壊れる可能性があるため、自分で確認する必要があり、明らかに長期的な解決策にはなりません.

pod 'ADNKit', :git => 'https://github.com/yourUsername/ADNKit.git'
于 2013-09-26T23:41:15.233 に答える