aboutsummaryrefslogtreecommitdiff
path: root/talk/app/webrtc/objc/README
diff options
context:
space:
mode:
Diffstat (limited to 'talk/app/webrtc/objc/README')
-rw-r--r--talk/app/webrtc/objc/README80
1 files changed, 80 insertions, 0 deletions
diff --git a/talk/app/webrtc/objc/README b/talk/app/webrtc/objc/README
new file mode 100644
index 0000000000..692fbbc564
--- /dev/null
+++ b/talk/app/webrtc/objc/README
@@ -0,0 +1,80 @@
+This directory contains the ObjectiveC implementation of the
+webrtc::PeerConnection API. This can be built for Mac or iOS. This
+file describes building the API, unit test, and AppRTCDemo sample app.
+
+Prerequisites:
+- Make sure gclient is checking out tools necessary to target iOS: your
+ .gclient file should contain a line like:
+ target_os = ['ios', 'mac']
+ Make sure to re-run gclient sync after adding this to download the tools.
+
+- Set up webrtc-related $GYP_DEFINES; example shell functions that set
+ up for building for iOS-device, iOS-simulator, and Mac (resp) are:
+function wrbase() {
+ cd /path/to/webrtc/trunk
+ export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1"
+ export GYP_GENERATORS="ninja"
+}
+
+function wrios() {
+ wrbase
+ export GYP_DEFINES="$GYP_DEFINES OS=ios target_arch=armv7"
+ export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_ios"
+ export GYP_CROSSCOMPILE=1
+}
+
+function wrsim() {
+ wrbase
+ export GYP_DEFINES="$GYP_DEFINES OS=ios target_arch=ia32"
+ export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_sim"
+ export GYP_CROSSCOMPILE=1
+}
+
+function wrmac() {
+ wrbase
+ export GYP_DEFINES="$GYP_DEFINES OS=mac target_arch=x64"
+ export GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_mac"
+}
+
+- Finally, run "gclient runhooks" to generate ninja files.
+
+Example of building & using the unittest & app:
+
+- To build & run the unittest (must target mac):
+ wrmac && gclient runhooks && \
+ ninja -C out_mac/Debug libjingle_peerconnection_objc_test && \
+ ./out_mac/Debug/libjingle_peerconnection_objc_test.app/Contents/MacOS/libjingle_peerconnection_objc_test
+
+- To build & launch the sample app on OSX:
+ wrmac && gclient runhooks && ninja -C out_mac/Debug AppRTCDemo && \
+ ./out_mac/Debug/AppRTCDemo.app/Contents/MacOS/AppRTCDemo
+
+- To build & launch the sample app on the iOS simulator:
+ wrsim && gclient runhooks && ninja -C out_sim/Debug iossim AppRTCDemo && \
+ ./out_sim/Debug/iossim out_sim/Debug/AppRTCDemo.app
+
+- To build & sign the sample app for an iOS device:
+ wrios && gclient runhooks && ninja -C out_ios/Debug-iphoneos AppRTCDemo
+
+- To install the sample app on an iOS device:
+ ideviceinstaller -i out_ios/Debug-iphoneos/AppRTCDemo.app
+ (if installing ideviceinstaller from brew, use --HEAD to get support
+ for .app directories)
+- Alternatively, use iPhone Configuration Utility:
+ - Open "iPhone Configuration Utility" (http://support.apple.com/kb/DL1465)
+ - Click the "Add" icon (command-o)
+ - Open the app under out_ios/Debug-iphoneos/AppRTCDemo (should be added to the Applications tab)
+ - Click the device's name in the left-hand panel and select the Applications tab
+ - Click Install on the AppRTCDemo line.
+ (If you have any problems deploying for the first time, check
+ the Info.plist file to ensure that the Bundle Identifier matches
+ your phone provisioning profile, or use a development wildcard
+ provisioning profile.)
+- Alternately, use ios-deploy:
+ ios-deploy -d -b out_ios/Debug-iphoneos/AppRTCDemo.app
+
+- Once installed:
+ - Tap AppRTCDemo on the iOS device's home screen (might have to scroll to find it).
+ - In desktop chrome, navigate to http://apprtc.appspot.com and note
+ the r=<NNN> room number in the resulting URL; enter that number
+ into the text field on the phone.