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

i_a*_*orf 6 github cocoapods podspec podfile

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

s.source = { 
  :http => 'https://github.com/COMPANY/PROJECT/releases/download/v1.0/PrivatePod.zip' 
}
Run Code Online (Sandbox Code Playgroud)

我的Podfile具有以下源信息:

source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/COMPANY/Specs.git'
Run Code Online (Sandbox Code Playgroud)

当我运行pod installgit提示输入密码来克隆我的私有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
Run Code Online (Sandbox Code Playgroud)

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

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

我可以使用.netrc从api端点获取发布资产,但只有在我指定时-H 'Accept: application/octet-stream',我才知道如何让CocoaPods这样做.

i_a*_*orf 3

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

GitHub 支持人员表示他们不支持发布下载的身份验证。他们将其添加到一些内部功能请求列表中