Skip to content
Switch branches/tags
Go to file

Latest commit

* [Pod] Add Braintree Pod as example of complex dependency.

* Add extra required methods.

* Update more tests.

* Set default build type right in build_type function.

* Add list of prebuilt_dynamic_frameworks.

* Also here.

* Fix syntax.

* Import and use Braintree.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This repo shows how Airbnb builds its iOS applications using Buck. It is where we prototype new functionality with Buck before making changes to our internal repo. We hope you find it as useful as we do 😃


To Install

# Install Buck
make install_buck

Note: you may need to install Java 8 before buck will run for you locally.

Running Tests

Press Cmd + U to run the unit tests for the ExampleApp target inside Xcode.

Or, from the terminal you can run make test.

Viewing Targets

You may run make targets to see a list of Buck targets available to build/test/etc.

Viewing Dependencies

You may run buck query "deps(//App:ExampleAppBinary)" --dot > to save Graphviz output of the dependency tree starting at the rule //App:ExampleAppBinary. You may then run dot -Tpng -o result.png to create a PNG image showing this dependency structure.

Generating an Xcode Project

To generate the project from the terminal, just run make project. You can then run in the simulator or press Cmd + U to run the tests.

You may also use breakpoints, just like normal when using the generated Xcode project.

Generating a Buck Local Xcode Project

Buck Local is a tool that generates an Xcode project which invokes Buck to do the build when you press the Build button in Xcode. It makes builds much faster while still allowing you to use Xcode as usual: jumping to definition, auto completion, debugging, etc., all works out of box.

To generate a Buck Local Xcode project, simply run make buck_local_project.


# generating and opening a Xcode project
make project

# building with Buck CLI
make debug


  1. gives a few examples on how we build CocoaPods with Buck
  2. is the main build file which shows how we setup resources/assets and build the final binary/ipa file.
  3. "Fast reliable Swift builds with Buck" - Robbert van Ginkel
  4. "Ludicrously Fast Builds with Buck" - Simon Stewart

Buck Build channel


An example app showing how Buck can be used to build a simple iOS app.



No packages published