Gift provides Swift bindings to the libgit2 library. It's a work in progress!
You'll need to have homebrew installed, then just run:
$ rake dependencies build
If it's your first time running the script, it'll take a while--it needs to build static libraries for OpenSSL, libssh2, and libgit2. And that's for both OS X and iOS.
You can test your changes by running:
$ rake
If you see a non-descript error like "Cannot build module Gift", there's an extremely sophisticated workaround: first, remove all the source files from the main and test target you're trying to build.
Then, build the framework. It should work fine (magic, I know). Now that
it builds, revert the removal of the files by running
git checkout -- Gift.xcodeproj
. And voila! Now everything builds fine.
You can find an example iOS app that uses Gift in the
Examples
directory. Using Gift
is (sort of) easy:
- Drag
Gift.xcodeproj
,LlamaKit.xcodeproj
,Quick.xcodeproj
, andNimble.xcodeproj
into your app's workspace. - In the "Link Binary with Libraries" build phase of your app, link your app to Gift.framework.
- Set the “Header Search Paths” (
HEADER_SEARCH_PATHS
) build setting to the correct path for the libgit2 headers in your project. For example, if you added the submodule to your project asExternal/Gift
, you would set this build setting toExternal/Gift/External/libgit2/include
. import Gift
in any Swift file, and you're off to the races!