diff --git a/BUILDING.md b/BUILDING.md index d0a997484..2e7262a1b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -4,17 +4,18 @@ Clone the repo to a working directory -## 2. Depenencies - -### tldr; - -Build and configure dependencies. +## 2. Dependencies +To build and configure the libraries Signal uses, just run: ``` make dependencies ``` +If the above fails to run, or you just want to know more about our +dependency management systems, read the next section, Dependency Details. +Else if the above completed without error - jump ahead to step 3. + ### Dependency Details We have a couple of dependency management tools. We us Carthage for @@ -35,7 +36,7 @@ pod repo update pod install ``` -occasionally, CocoaPods itself will need to be updated. Do this with +Occasionally, CocoaPods itself will need to be updated. Do this with ``` gem update cocoapods @@ -55,6 +56,12 @@ git submodule update --init carthage build --platform iOS ``` +### Building WebRTC + +A prebuilt version of WebRTC.framework resides in our Carthage submodule +and should be installed by the above steps. However, if you'd like to +build it from source, see: https://github.com/WhisperSystems/signal-webrtc-ios + ## 3. XCode Open the `Signal.xcworkspace` in Xcode. @@ -64,24 +71,18 @@ open Signal.xcworkspace ``` In the Signal target on the General tab, change the Team drop down to -your own. On the Capabilities tab turn off Push Notifications and Data -Protection. Only Background Modes should remain on. - -Some of our build scripts, like running tests, expect your Derived -Data directory to be `$(PROJECT_DIR)/build`. In Xcode, go to `Preferences-> Locations`, -and set the "Derived Data" dropdown to "Relative" and the text field -value to "build". +your own. You will need an Apple Developer account for that. On the +Capabilities tab turn off Push Notifications and Data Protection. Only +Background Modes should remain on. Build and Run and you are ready to go! ## Known issues -Features related to push notifications are known to be not working for third-party contributors since Apple's Push Notification service pushs will only work with Open Whisper Systems production code signing certificate. +Features related to push notifications are known to be not working for +third-party contributors since Apple's Push Notification service pushes +will only work with Open Whisper Systems production code signing +certificate. If you have any other issues, please ask on the [community forum](https://whispersystems.discoursehosting.net/). -### Building WebRTC - -A prebuilt version of WebRTC.framework resides in our Carthage submodule (see above). -However, if you'd like to build it from source, see https://github.com/WhisperSystems/signal-webrtc-ios -