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 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 carthage build
``` ```
If you don't have carthage, here are install instructions: If you don't have carthage, here are install instructions:
``` ```
https://github.com/Carthage/Carthage#installing-carthage 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. 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` `pod update`
### WebRTC Similarly, Carthage dependencies can be updated like so:
We don't currently have an automated build (cocoapod/carthage) setup for `carthage update`
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/
## Translations ## Translations

Loading…
Cancel
Save