Apple requires contributors to iOS projects to relicense their code on submit. We'll have to have individual contributors sign something to enable this.
Our volunteer legal have put together a form you can sign electronically. So no scanning, faxing, or carrier pigeons involved. How modern:
To get started with developing for Signal iOS, please read [this tutorial on git best practices](https://gist.github.com/corbett/ef9fd5f1abbef3b02f3b).
We are trying to follow the [GitHub code conventions for Objective-C](https://github.com/github/objective-c-conventions) and we appreciate that pull requests do conform with those conventions.
In addition to that, always add curly braces to your `if` conditionals, even if there is no `else`. Booleans should be declared according to their Objective-C definition, and hence take `YES` or `NO` as values.
One note, for programmers joining us from Java or similar language communities, note that [exceptions are not commonly used for errors that may occur in normal use](http://stackoverflow.com/questions/324284/throwing-an-exception-in-objective-c-cocoa/324805#324805) so familiarize yourself with **NSError**.
We prefer to use [Storyboards](https://developer.apple.com/library/ios/documentation/general/conceptual/Devpedia-CocoaApp/Storyboard.html) vs. building UI elements within the code itself. We are not at the stage to provide a .strings localizable file for translating, but the goal is to have translatable strings in a single entry point so that we can reach users in their native language wherever possible.
It's the eternal debate. We chose to adopt spaces. Please set your default Xcode configuration to 4 spaces for tabs, and 4 spaces for indentation (it's Xcode's default setting).

If you don't agree with us, you can use the [ClangFormat Xcode plugin](https://github.com/travisjeffery/ClangFormat-Xcode) to code with your favorite indentation style!
Signal wouldn’t be possible without the many open-source projects we depend on. Big shoutout to the maintainers of all the [pods](https://github.com/signalapp/Signal-iOS/blob/master/Podfile) we use!
The development from 1.0 to 2.0 of Signal was managed by [Christine Corbett](https://twitter.com/corbett) and [Frederic Jacobs](https://twitter.com/FredericJacobs). After the release of Signal 2.0, Christine moved on to other projects.
We would like to particularly thank the following people for contributing to Signal 2.0:
- Tyler Reinhard for his work on Signal 2.0 design
- Cade (@helveticade) for his numerous UX and UI contributions
- Dylan Bourgeois for his work on helping to integrate TextSecure UI into the existing Signal project
- Joshua Lund for the amazing QA work and immensely helpful feedback provided over the months of testing
- Joyce Yan and Jack Rogers for their contributions at the Winter Break of Code
- [Abelard](http://abelard.bandcamp.com/) for the Signal ringtones and notification sounds