Search code examples
githubcocoapods

Cocoapods with private git repository


I want to add to podfile private git repository, for example:

pod 'MyLibrary', :git => '[email protected]:perfect/top-library.git', :branch => 'data/myLab'

But when I run "pod install" command I receive error:

[!] Error installing MyLibrary
[!] Failed to download 'MyLibrary'.

And the question is how to provide my credentials from git to cocoapods ?


Solution

  • If you use SSH and have generated a SSH Key (more info here)

    $>more ~/.ssh/config
    

    It should give you something like that:

    Host SomeHostNameAlias
        HostName github.com
        User YourUserName
        PreferredAuthentications publickey
        IdentityFile /Users/YourLocalAccount/.ssh/TheSSHKeyGenerated
    

    Then, in your Podfile, you should be able to do something similar to this (I didn't put :branch =>, but if you need it, and also note that I replace then the : with a / in the path after the host replacement.):

    pod 'MyLibrary', :git => 'ssh://git@SomeHostNameAlias/perfect/top-library.git'
    

    Side note: I use this kind of behavior with Bitbucket. I'm not a big expert on SSH and GitHub, and there may be some little changes on the git path for instance.

    Using the Host alias like this may also help you manage different SSH keys for the same HostName (like different account/SSH on the same Git Server), could be useful on SourceTree if you manage different clients, personal/work access, etc.