如何创建一个CocoaPods podspec具有存在于Specs之外的依赖关系?
我有一个已经存在于CocoaPods / Specs中的库的公共叉。在Podfile中,我可以通过这样做引用此分叉pod:
pod 'CoolLibrary',:git => 'git@github.com:myname/CoolLibrary-Forked.git',:commit => 'abcdef1234567890abcdef1234567890' 我试着把这在我的MyLibrary.podspec: s.dependency 'CoolLibrary',:commit => 'abcdef1234567890abcdef1234567890' 但得到以下错误消息: -> 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. 是否可以以这种方式在.podspec中指定依赖关系(即,对于具有podspec但不在CocoaPods / Specs中的pod)?
这是podspecs不允许的,因为允许这样会使得其他podspecs不可能定义他们依赖的包和/或其他包可能会破坏因为意外的API差异。
例如,考虑依赖于AFNetworking的两个pod,但是一个指定外部源位置(Pod A),而另一个仅指定最小版本要求(Pod B): > Pod A:s.dependency’AFNetworking’,:git => ‘https:// arbitrary / location’ 现在有几个潜在的问题: >在这一点上,我们不知道什么版本是在“Pod A”repo,直到我们下载它,这是一个巨大的浪费时间,以防万一AFNetworking(例如’Pod B’)的各种共同依赖不能满足。 我希望这使清楚为什么我们不能介绍一种方法podspecs默默地打破版本的承诺。但是,从您的Podfile,您可以覆盖任何pod的源位置,因为它是最终用户(应用程序开发人员)谁是控制,不应有任何意外的破坏。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |