为什么我的CocoaPod没有从指定的URL下载源代码?

时间:2016-02-09 11:00:42

标签: ios cocoapods dependency-management ios-frameworks

我有一个压缩的iOS框架,我试图通过CocoaPods在测试应用程序中使用它。我在发行版的github中添加了它。我的podspec目前看起来像:

Pod::Spec.new do |spec|
  spec.name             = "TestPod"
  spec.version          = "0.1"
  spec.license          = { :type => "MIT", :file => "LICENSE" }
  spec.homepage         = 'http://www.test.com'
  spec.author           = "test"
  spec.summary          = "test."
  spec.source           = { :http => "https://github.com/username/TestPod/releases/download/0.1/TestPod-0.1.zip"}
  spec.vendored_framework     = "TestPod-0.1/TestPod.framework"
  spec.ios.deployment_target = '8.0'
end

我在我的Podfile中使用 -

直接使用它
target 'TestApp' do
  pod 'TestPod', :git => 'https://github.com/username/TestPod/'
end

但是,在执行pod install时,我发现Zipped文件TestPod-0.1.zip既未下载也未将框架添加到我的项目中。有人可以告诉我如何让Pod下载我的框架吗?

5 个答案:

答案 0 :(得分:0)

您必须指定一个git repo而不仅仅是某个任意目录。因此,不应使用:https://github.com/username/TestPod/(目录),而应提取用于克隆存储库的URL(HTTPS路径不是SSH)。在您的情况下,这可能是https://github.com/username/TestPod.git

在Github上,这通常可以在您要使用的仓库顶部找到。如果您仍然遇到问题,请指明您尝试使用的实际回购。

答案 1 :(得分:0)

你的podfile应该指向repo。因此,您的podfile(使用您为TTNew指示的测试仓库)应如下所示:

 pod 'TTNew', :git => 'https://github.com/aditya-tirodkar/TTNew.git'

答案 2 :(得分:0)

好吧,我有类似的要求,我的pod安装不会在http源代码下载我的.zip文件(尝试使用git以及我的http部署服务器)

它与“google-cast-idk”的冠军一样。

任何线索都会有所帮助。

答案 3 :(得分:0)

我找到了解决同样问题的解决方案:将podspec添加到repo并且不使用:git => 'https://github.com/username/TestPod/'部分。所以它看起来像普通的pod 'TestPod'

有些信息是here

为什么会起作用 - 神秘:)

答案 4 :(得分:0)

我也刚刚遇到了这个问题,我能够确认使用 :podspec => 直接访问 podspec 文件有效,但是使用 main 手动定位 :git => 分支没有.从它的外观来看,:git => 从存储库中克隆了源代码,但并不期望必须执行 HTTP 下载。

确实,我觉得这并不是真正的官方做法。需要将 podspec 推送到 CocoaPods 规范存储库,然后拉取通过 HTTP 下载的传统方式才能工作。

考虑到这一点(因为我自己的 podspec 不是我想在 CocoaPods 上正式发布的),我能够通过制作 my own private specs repo 然后将 podspec 推送到那里来解决这个问题。

手动创建私有规格仓库非常容易:

  1. 在 GitHub 上创建一个名为“/Specs”的新存储库。
  2. 将 podspec 推送到文件夹结构 <RepoName>/<TagVersion>/<RepoName>.podspec 下的 repo
  3. 在原来的 Podfile 中,在顶部添加以下内容
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/<MyAccount>/Specs.git'

从那里,您可以在 Podfile 中使用 pod 'MyRepo',它将从您的私有规范存储库中提取。希望有所帮助!