簡體   English   中英

將帶有源的 Pod 依賴項添加到 .podspec

[英]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中定義依賴項。 請參閱有關依賴關系的 CocoaPod指南文檔

它似乎應該只包含如下所述的版本信息。 不允許使用其他格式。

在此輸入圖像描述

在執行驗證時,您需要輸入帶有指向托管 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 ,這次它成功了。


注意:

  • 我需要ApolloApollo/WebSocket依賴項。
  • 我還沒推過我的Pod,也無法保證所有這一切都是100%正確的
  • 我是CocoaPods的新手,所以這可能不是解決問題的最佳解決方案。

根據這個CocoaPods / issues / 2485CocoaPods / 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM