我有一个已经存在于CocoaPods/Specs中的库的公共分支.在Podfile中,我可以通过执行以下操作来引用此分叉的pod:
pod 'CoolLibrary', :git => 'git@github.com:myname/CoolLibrary-Forked.git', :commit => 'abcdef1234567890abcdef1234567890'
Run Code Online (Sandbox Code Playgroud)
我试着把它放在我的MyLibrary.podspec:
s.dependency 'CoolLibrary', :git => 'git@github.com:myname/CoolLibrary-Forked.git', :commit => 'abcdef1234567890abcdef1234567890'
Run Code Online (Sandbox Code Playgroud)
但是请收到以下错误消息:
-> MyLibrary.podspec
- ERROR | The specification defined in `MyLibrary.podspec` could not be loaded.
[!] Invalid `MyLibrary.podspec` file: [!] Unsupported version requirements. Updating CocoaPods might fix the issue.
Run Code Online (Sandbox Code Playgroud)
是否可以以这种方式在.podspec中指定依赖项(即对于具有podspec但不在CocoaPods/Specs中的pod)?
all*_*loy 69
podspecs不允许这样做,因为允许其他podspecs几乎不可能定义它们所依赖的包和/或其他包可能因意外的API差异而中断.
例如,考虑两个依赖于AFNetworking的pod,但是一个指定外部源位置(Pod A),而另一个指定最小版本要求(Pod B):
s.dependency 'AFNetworking', :git => 'https://arbitrary/location's.dependency 'AFNetworking', '> 2'现在有几个潜在的问题:
我希望这清楚地表明为什么我们不能为podspecs引入一种方法来默默地破坏版本的承诺.不过,从Podfile您的允许覆盖任何荚的源位置,因为它是谁在控制和不应该有任何最终用户(应用程序开发者)意外断裂.
| 归档时间: |
|
| 查看次数: |
34705 次 |
| 最近记录: |