| 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. |