我正在尝试安装 sharekit通过cocoapods。如果我在 cocoapod 网站上搜索 sharekit.. 我被指示将其放入 podfile 中:
pod 'ShareKit', '~> 2.5'
网站上的sharekit pod链接到this podspec 文件,标记为 2.5.6。
到目前为止一切顺利。
但是当我运行 pod install
命令时(我还添加了 platform :ios, '6.0'
b/c 不这样做会引发兼容性错误)我明白了错误:
[!] Unable to satisfy the following requirements: -
SSKeychain (~> 0.2.1)
required byShareKit/Core (2.5.6)
-SSKeychain (~> 1.2.2)
required byEvernote-SDK-iOS (1.3.1)
我的问题是:为什么它说明 evernote 1.3.1 需要什么? b/c 2.5.6 podspec 里面有这个:
s.subspec 'Evernote' do |evernote|
evernote.source_files = 'Classes/ShareKit/Sharers/Services/Evernote/**/*.{h,m}'
evernote.dependency 'Evernote-SDK-iOS', '~> 1.3.0'
evernote.dependency 'ShareKit/Core'
evernote.libraries = 'xml2'
evernote.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2' }
end
所以它显然链接到 evernote 1.3.0
podspec在 sharekit master repo 上确实将 evernote 1.3.1 列为依赖项..但这与我的 pod 安装请求有什么关系?
让事情变得更奇怪.. 我放 pod 'ShareKit', '~> 2.5.6'
或 pod 'ShareKit', '~> 2.5 都没关系.3'
.. 我在谈论 sharekit 2.5.6 时仍然遇到错误.. 为什么会这样?
下面解释了如何将 pod 版本链接到您的项目中(它与 Semantic Versioning 密切相关。
Besides no version, or a specific one, it is also possible to use logical operators:
'> 0.1' Any version higher than 0.1
'>= 0.1' Version 0.1 and any higher version
'< 0.1' Any version lower than 0.1
'<= 0.1' Version 0.1 and any lower version
In addition to the logic operators CocoaPods has an optimisic operator ~>:
'~> 0.1.2' Version 0.1.2 and the versions up to 0.2, not including 0.2 and higher
'~> 0.1' Version 0.1 and the versions up to 1.0, not including 1.0 and higher
'~> 0' Version 0 and higher, this is basically the same as not having it.
来源:http://guides.cocoapods.org/using/the-podfile.html
如果您想明确链接到特定版本,请将您的 podfile 更改为以下内容:
pod 'ShareKit', '2.5'
关于ios - 如何知道您的 cocoapod 安装指向哪个 pod 规范文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286127/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |