AppRTCDemo: builds using ninja on iOS for simulator and device!
Things included in this CL:
- updated READMEs to provide an exact/reproable set of steps for getting the app
running.
- gyp changes to build the iOS AppRTCDemo sample app using gyp+ninja instead of
the hand-crafted Xcode project (which has never worked in its checked-in
form), including a gyp action to sign the sample app for deployment to an iOS
device (the app can also be used in the simulator)
- deleted the busted hand-crafted Xcode project for the sample app
- updated the sample app to match the PeerConnection API that ended up landing
(in a surprising twist of fate, the API landed quite a bit later than the
sample app and this is the first time the CR-time changes in the API are
reflected in the sample app)
- updated the sample app to reflect apprtc.appspot.com HTML/JS changes (equiv to
the AppRTCClient.java changes in http://s10/47299162)
- picked up the iossim DEPS to enable launching the sample app in the simulator
from the command-line.
- renamed some files to match capitalization of the classes they contain (Ice ->
ICE) per ObjC naming guidelines.
- ran the files involved in this CL through clang-format to deal with xcode
formatting craxy.
BUG=2106
RISK=P2
TESTED=unittest builds with ninja and passes on OS=mac; sample app builds with ninja and runs on simulator and device, though no audio flows from simulator/device (will fix in a follow-up CL)
R=andrew@webrtc.org, justincohen@google.com, wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1874005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4466 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/libjingle_examples.gyp b/talk/libjingle_examples.gyp
index 9170ba0..cc252b2 100755
--- a/talk/libjingle_examples.gyp
+++ b/talk/libjingle_examples.gyp
@@ -218,6 +218,65 @@
], # targets
}], # OS=="linux" or OS=="win"
+ ['libjingle_objc==1 and OS=="ios"', {
+ 'targets': [
+ {
+ 'target_name': 'AppRTCDemo',
+ 'type': 'executable',
+ 'product_name': 'AppRTCDemo',
+ 'mac_bundle': 1,
+ 'mac_bundle_resources': [
+ 'examples/ios/AppRTCDemo/ResourceRules.plist',
+ 'examples/ios/AppRTCDemo/en.lproj/APPRTCViewController.xib',
+ 'examples/ios/AppRTCDemo/ios_channel.html',
+ 'examples/ios/Icon.png',
+ ],
+ 'dependencies': [
+ 'libjingle.gyp:libjingle_peerconnection_objc',
+ ],
+ 'conditions': [
+ ['target_arch=="ia32"', {
+ 'dependencies' : [
+ '<(DEPTH)/testing/iossim/iossim.gyp:iossim#host',
+ ],
+ }],
+ ],
+ 'sources': [
+ 'examples/ios/AppRTCDemo/APPRTCAppClient.h',
+ 'examples/ios/AppRTCDemo/APPRTCAppClient.m',
+ 'examples/ios/AppRTCDemo/APPRTCAppDelegate.h',
+ 'examples/ios/AppRTCDemo/APPRTCAppDelegate.m',
+ 'examples/ios/AppRTCDemo/APPRTCViewController.h',
+ 'examples/ios/AppRTCDemo/APPRTCViewController.m',
+ 'examples/ios/AppRTCDemo/AppRTCDemo-Prefix.pch',
+ 'examples/ios/AppRTCDemo/GAEChannelClient.h',
+ 'examples/ios/AppRTCDemo/GAEChannelClient.m',
+ 'examples/ios/AppRTCDemo/main.m',
+ ],
+ 'xcode_settings': {
+ 'CLANG_ENABLE_OBJC_ARC': 'YES',
+ 'INFOPLIST_FILE': 'examples/ios/AppRTCDemo/Info.plist',
+ 'OTHER_LDFLAGS': [
+ '-framework Foundation',
+ '-framework UIKit',
+ ],
+ },
+ 'postbuilds': [
+ {
+ # Ideally app signing would be a part of gyp.
+ # Delete if/when that comes to pass.
+ 'postbuild_name': 'Sign AppRTCDemo',
+ 'action': [
+ '/usr/bin/codesign', '-v', '--force', '--sign',
+ '<!(security find-identity -p codesigning -v | grep "iPhone Developer" | awk \'{print $2}\')',
+ '${BUILT_PRODUCTS_DIR}/AppRTCDemo.app',
+ ],
+ },
+ ],
+ }, # target AppRTCDemo
+ ], # targets
+ }], # libjingle_objc==1
+
['OS=="android"', {
'targets': [
{