diff options
Diffstat (limited to 'talk/app/webrtc/objc/README')
-rw-r--r-- | talk/app/webrtc/objc/README | 80 |
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. |