带有私人git仓库的Cocoapods

Nev*_*_be 5 github cocoapods

我想添加到podfile私有git仓库,例如:

pod 'MyLibrary', :git => 'git@github.com:perfect/top-library.git', :branch => 'data/myLab'
Run Code Online (Sandbox Code Playgroud)

但是,当我运行“ pod install”命令时,出现错误:

[!] Error installing MyLibrary
[!] Failed to download 'MyLibrary'.
Run Code Online (Sandbox Code Playgroud)

问题是如何提供从git到cocoapods的凭据?

Lar*_*rme 6

如果您使用SSH并已生成SSH密钥(更多信息,请参见此处

$>more ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)

它应该给你这样的东西:

Host SomeHostNameAlias
    HostName github.com
    User YourUserName
    PreferredAuthentications publickey
    IdentityFile /Users/YourLocalAccount/.ssh/TheSSHKeyGenerated
Run Code Online (Sandbox Code Playgroud)

然后,在你Podfile,你应该能够做一些类似的(我没放:branch =>,但如果你需要它,而且还要注意我替换则:/在主机更换后的路径。):

pod 'MyLibrary', :git => 'ssh://git@SomeHostNameAlias/perfect/top-library.git'
Run Code Online (Sandbox Code Playgroud)

旁注:我对Bitbucket使用了这种行为。我不是SSH和GitHub的专家,例如git路径可能会有一些小的变化。

Host像这样使用别名还可以帮助您为同一主机名管理不同的SSH密钥(例如同一Git服务器上的不同帐户/ SSH),如果您管理不同的客户端,个人/工作访问权限等,则在SourceTree上可能很有用。