Refine Carthage instructions.

// FREEBIE
pull/1/head
Matthew Chen 8 years ago
parent f02d325952
commit 9e7ca5d87c

@ -17,11 +17,15 @@ occasionally, CocoaPods itself will need to be updated. Do this with
sudo gem update
```
3) Some dependencies are added via carthage. Run:
3) Some dependencies are added via carthage. However, our prebuilt WebRTC.framework also resides in the Carthage directory.
Run:
```
carthage checkout
// DO NOT run: `carthage update` or `carthage checkout`.
git submodule update --init
carthage build
```
If you don't have carthage, here are install instructions:
```
https://github.com/Carthage/Carthage#installing-carthage
@ -46,4 +50,29 @@ value to "build".
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.
### Building WebRTC
A prebuilt version of WebRTC.framework resides in our Carthage submodule (see above).
However, if you'd like to build it from souce, this is how it's done.
These instructions are derived from the WebRTC documentation:
https://webrtc.org/native-code/ios/
# 1. Install depot tools
cd <somewhere>
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd depot_tools
export PATH=<somewhere>/depot_tools:"$PATH"
# 2. Fetch webrtc source
cd <somewhere else>
mkdir webrtc
cd webrtc
fetch --nohooks webrtc_ios
gclient sync
# 3. Build webrtc
cd src
webrtc/build/ios/build_ios_libs.sh
# 4. Move the WebRTC.framework into Signal-iOS's Carthage directory
mv out_ios_libs/WebRTC.framework <Your Signal-iOS repository>/Carthage/Build/iOS/

@ -9,34 +9,9 @@ Keeping cocoapods based dependencies is easy enough.
`pod update`
### WebRTC
We don't currently have an automated build (cocoapod/carthage) setup for
the WebRTC.framework. Instead, read the WebRTC upstream source and build
setup instructions here:
https://webrtc.org/native-code/ios/
Once you have your build environment set up and the WebRTC source downloaded:
# The specific set of commands that worked for me were somewhat different.
# 1. Install depot tools
cd <somewhere>
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
cd depot_tools
export PATH=<somewhere>/depot_tools:"$PATH"
# 2. Fetch webrtc source
cd <somewhere else>
mkdir webrtc
cd webrtc
fetch --nohooks webrtc_ios
gclient sync
# 3. Build webrtc
# NOTE: build_ios_libs.sh only worked for me from inside "src"
cd src
webrtc/build/ios/build_ios_libs.sh
# NOTE: It's Carthage/Build/iOS, not Carthage/Builds
mv out_ios_libs/WebRTC.framework ../../Signal-iOS/Carthage/Build/iOS/
Similarly, Carthage dependencies can be updated like so:
`carthage update`
## Translations

Loading…
Cancel
Save