作者:失望与痛心 | 来源:互联网 | 2023-02-01 18:00
我有一个私人吊舱和一个私人规格仓库.我作为二进制文件提供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这样做.