pod安装后我遇到了这个问题。我想从AFNetworking获得responseSerializer,因为IDMPhotoBrowser使用它,但是当我在我的pod文件中指定AFNetworking的版本时,它会导致此错误。怎么解决它?
- `AFNetworking (~> 2.5)` required by `Podfile`
- `AFNetworking (~> 1.3.3)` required by `IOSLinkedInAPI (1.0.0)`
- `AFNetworking` required by `IDMPhotoBrowser (1.5.2)`
- `AFNetworking (~> 1.3.0)` required by `RestKit/Network (0.23.1)`
也许你应该写这个
platform :ios,'8.0'
pod 'AFNetworking', '~> 3.0.0-beta.0'
代替
pod 'AFNetworking', '~> 3.0'
在执行pod安装之前,尝试将AFNetworking的pod添加为依赖性pod“AFNetworking”。先下载。确保版本正常我的意思是2.5.1。
我的pod版本是0.38.2。
解决方案是:在Podfile的开头添加平台:ios,'7.0'。
7.0也可以是6.0或5.0或8.0,这取决于你的Podfile中的项目。你可以进入〜/ .cocoapods / repos / master / Specs文件夹,然后打开你需要的.podspec文件。在这些文件中,他们可能会声明ios sdk的版本。使用最大版本number.try更新或安装7.0。这可能是你的帮助。
我的pod文件如下:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'AFNetworking','~>3.0'
当我安装pod时,会出现如下错误:
jxr-pc:iOS star$ pod install
Updating local specs repositories
Analyzing dependencies
[!] Unable to satisfy the following requirements:
- `AFNetworking (~> 3.0)` required by `Podfile`
怎么了?
之所以会这样,是因为有些图书馆需要不同的AFNetworking
版本。
platform :ios, '8.0'
pod 'AFNetworking', '~> 3.0'
把这些线放到最后,它会起作用;
这是一个很好的解决方案。您可以通过以下步骤编辑Pod的依赖关系,然后在主pod文件中添加最新的pod。例如,我在两个豆荚SignalR-ObjC
冲突需要AFNetworking 2.x
和ContentfulDeliveryAPI v2.0
需要AFNetworking 3.x
。你要做的是:
1-如果不可见,请转到用户主文件夹并显示隐藏文件。复制规范json文件,并将其粘贴到podfile所在的项目主目录中。
~/.cocoapods/repos/master/Specs/<yourpodname>/<versions>/<pod-spec>.json
2-打开JSON文件并找到密钥'dependencies
',现在要么更改pod依赖项,要么删除依赖项。在我的情况下,我改变了:
"dependencies": {
"AFNetworking": [
"~>2.0"
],
"SocketRocket": [
"~>0.4"
]
}
至
"dependencies": {
"AFNetworking": [
"~>3.0"
],
"SocketRocket": [
"~>0.4"
]
}
3-通过给出pod规范路径保存JSON并编辑你的podfile
:
pod 'SignalR-ObjC', :podspec => 'SignalR-ObjC.podspec.json'
4-全部设定。从终端运行pod install
命令,它现在可以正常工作。
注意:此答案将使您能够加载所需的窗格,但您正在更改的从属窗格可能会有一些目标已更改窗格使用的库。为此,您需要编辑文件中的代码
AFNetworking (~> 2.5)
要求Podfile
AFNetworking (~> 1.3.3)
要求IOSLinkedInAPI (1.0.0)
AFNetworking
要求IDMPhotoBrowser (1.5.2)
AFNetworking (~> 1.3.0)
要求RestKit/Network (0.23.1)
出现此问题是因为所需的AFNetworking版本(〜> 1.3.0)小于当前版本(〜> 2.5)。所以请使用较少的AFNetworking(〜> 1.3.0)而不是AFNetworking(〜> 2.5)。它将为所有人喝水。
您可以通过将cocoapods降级到版本0.37来解决此问题,或者您可以将0.37版本添加到您的pod(sudo gem install cocoapods -v 0.37.0
),然后为您的项目设置指定的cocoapods(pod _0.37.0_ setup
)。我做了什么 - 我从我的Mac上安装了0.39版本。