Pod安装失败,私有pod从私有repo作为二进制文件提供

时间:2017-06-08 20:48:40

标签: github cocoapods podspec podfile

我有一个私人吊舱和一个私人规格仓库。我作为二进制文件提供pod,即podspec说:

s.source = { 
  :http => 'https://github.com/COMPANY/PROJECT/releases/download/v1.0/PrivatePod.zip' 
}

我的Podfile具有以下源信息:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/COMPANY/Specs.git'

当我运行pod install git提示输入密码来克隆我的私有spec repo时,这很棒。

但是,pod install尝试使用curl获取二进制zip包而不进行身份验证,因此GitHub返回404:

Installing PROJECT 1.0 (was 1.0)

[!] Error installing PROJECT [!] /usr/bin/curl -f -L -o /var/folders/_g/52mwshws60v8622n81hv7h7w0000gn/T/d20170608-80045-1l3flqz/file.zip https://github.com/COMPANY/PROJECT/releases/download/v1.1/PrivatePod.zip --create-dirs --netrc-optional
...
curl: (22) The requested URL returned error: 404 Not Found

我不想公开二进制文件。有没有办法告诉CocoaPods在这里做一些认证?

我尝试在.netrc中放置凭据,CocoaPods似乎很乐意使用,但GitHub仍然使用404失败了请求,即使我看到curl现在正在使用基本身份验证。如果我使用netrc for auth使用curl发出API请求,我会得到很好的响应。但我无法下载发布资产。

我可以使用.netrc从api端点获取发布资产,但前提是我指定-H 'Accept: application/octet-stream',我不知道如何让CocoaPods这样做。

1 个答案:

答案 0 :(得分:2)

GitHub不支持这一点。解决方案:如果托管它的repo是私有的,则不要在github上托管二进制文件。

  

GitHub支持称他们不支持auth发布下载。他们将其添加到一些内部功能请求列表