[英]How to add a private CocoaPod as a dependency in another pod .podspec file?
[英]Add Pod dependency with source to .podspec
我正在嘗試將以下依賴項添加到我的 Podspec
s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
每當我嘗試運行pod lib lint MyPodName.podspec
時,我都會在終端中得到以下pod lib lint MyPodName.podspec
:
- ERROR | spec: The specification defined in `MyPodName.podspec` could not be loaded.
[!] Invalid `MyPodName.podspec` file: [!] Unsupported version requirements.
# from <PathToMyPodspec>/MyPodName.podspec:36
# -------------------------------------------
#
> s.dependency 'Apollo/WebSocket', :git => 'https://github.com/apollographql/apollo-ios'
#
# -------------------------------------------
我已經成功地將它用作我的一個 iOS 項目中的 Pod。 但是現在我自己正在創建一個 pod,我很難理解我應該怎么做才能讓它工作。
先感謝您!
在執行驗證時,您需要輸入帶有指向托管 podspec 的存儲庫鏈接的命令。 像這樣的 pod lib lint --sources=git@github.com:CocoaPods/Specs.git,git@github.com:otherRepos
解決了!
事實證明,項目的Podfile文檔在所有這些中起着重要作用。 我發現它在所述項目的/Example
文件夾中。 我所做的是:
use_frameworks!
source = 'https://github.com/apollographql/apollo-ios'
source = 'https://github.com/apollographql/apollo-ios'
target 'MyPodName_Example' do
pod 'Apollo'
pod 'Apollo/WebSocket'
pod 'MyPodName', :path => '../'
target 'MyPodName_Tests' do
inherit! :search_paths
end
end
(我不太確定我是否一定需要兩個source
行,但確實如此工作)
然后我在/Example
目錄上運行pod install
。
之后,我返回到MyPodName.podspec
文件並編輯了依賴項,如下所示:
s.dependency 'Apollo'
s.dependency 'Apollo/WebSocket'
然后我在根目錄(我的.podspec
文件所在的位置)上運行了pod lib lint MyPodName.podspec
,這次它成功了。
注意:
Apollo
和Apollo/WebSocket
依賴項。 根據這個CocoaPods / issues / 2485 , CocoaPods / issues / 922 ,podspecs現在無法指定依賴關系的來源。
替代方案:
對於公共回購 :
只需直接使用s.dependency 'Apollo/WebSocket', '~> 0.0.1'
即可。
如果您要指定私人倉庫
隨心所欲地按照這個博客的步驟創建( pod repo push
)私人圖書館。 然后你應該能夠通過使用s.dependency 'YourPrivateProjectName', '~> 0.0.1'
來指定你的私人項目s.dependency 'YourPrivateProjectName', '~> 0.0.1'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.