2017-06-08 54 views
6

我有一个私人吊舱和一个私人规格回购。我服荚作为二进制,即podspec说:Pod安装失败,专用吊舱作为私人回购的二进制服务

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的提示输入密码,克隆我的私人规范回购,这是伟大的。

然而,pod install试图让使用curl没有认证的二进制压缩包,让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进行auth的curl API请求,我得到的回应就好了。但我无法下载版本资产。

我可以使用.netrc从api端点获得版本资产,但前提是我指定-H 'Accept: application/octet-stream',但我没有看到如何让CocoaPods能够做到这一点。

+0

可能的解决方案:https://stackoverflow.com/questions/43885763/cocoapods-with-private-git-repository/43892558#43892558? – Larme

+0

我确实看到了解决方法。问题在于你必须提交发行版二进制文件,而不是使用Github的非SCM托管位。 –

+0

GitHub支持是说他们只是不支持auth发布下载。他们将其添加到一些内部功能请求列表中,该列表可能会永远被忽略。好吧。答:不可能。主机在别的地方糟糕。 –

回答

1

GitHub只是不支持这一点。解决方案:不要在github上托管二进制文件,如果回收站托管它是私人的。