• Home
  • Raw
  • Download

Lines Matching +full:build +full:- +full:and +full:- +full:deploy

5 In case you need to build the framework manually or you want to try out the
12 _NOTICE:_ You will need to install [Chromium depot_tools][webrtc-prerequisite-sw].
16 Create a working directory, enter it, and run:
19 $ fetch --nohooks webrtc_ios
23 This will fetch a regular WebRTC checkout with the iOS-specific parts
25 for both Mac and iOS development, since GN allows you to generate your
26 [Ninja][ninja] project files in different directories for each build config.
36 $ git new-branch <branch name>
39 See [Development][webrtc-development] for generic instructions on how
46 [GN][gn] to generate build files for iOS certain variables need to be set.
47 Those variables can be edited for the various build configurations as needed.
52 - To build for iOS this should be set as `target_os="ios"` in your `gn args`.
54 omitted when generating build files for macOS.
56 - For builds targeting iOS devices, this should be set to either `"arm"` or
60 - Debug builds are the default. When building for release, specify `false`.
62 The component build is the default for Debug builds, which are also enabled by
65 The [GN][gn] command for generating build files is `gn gen <output folder>`.
67 After you've generated your build files once, subsequent invocations of `gn gen`
71 changes and save the file, `gn` will regenerate your project files for you
77 $ # debug build for 64-bit iOS
78 $ gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'
80 $ # debug build for simulator
81 $ gn gen out/ios_sim --args='target_os="ios" target_cpu="x64"'
89 $ ninja -C out/ios_64 AppRTCMobile
99 Xcode is the default and preferred IDE to develop for the iOS platform.
103 To have GN generate Xcode project files, pass the argument `--ide=xcode`
110 $ gn gen out/ios --args='target_os="ios" target_cpu="arm64"' --ide=xcode
111 $ open -a Xcode.app out/ios/all.xcodeproj
114 *Compile and run with Xcode*
118 action in the build phases of the generated project. This script will simply
122 are used to in Xcode, without sacrificing the build speed of Ninja.
126 There are several test targets in WebRTC. To run the tests, you must deploy the
127 `.app` bundle to a device (see next section) and run them from there.
129 the `--gtest_filter` argument to the test binary when running. To do this when
131 and press _edit scheme..._ at the bottom of the target dropdown menu. From there
132 click _Run_ in the sidebar and add `--gtest_filter` to the _Arguments passed on
135 If deploying to a device via the command line using [`ios-deploy`][ios-deploy],
136 use the `-a` flag to pass arguments to the executable on launch.
140 It's easiest to deploy to a device using Xcode. Other command line tools exist
141 as well, e.g. [`ios-deploy`][ios-deploy].
143 **NOTICE:** To deploy to an iOS device you must have a valid signing identity
147 $ xcrun security find-identity -v -p codesigning
150 If you don't have a valid signing identity, you can still build for ARM,
151 but you won't be able to deploy your code to an iOS device. To do this,
153 generate the build files.
157 To build WebRTC for use in a native iOS app, it's easiest to build
159 with the actual location of your generated build files.
162 ninja -C out/ios framework_objc
169 multiple architectures, and will work both on device and in the simulator,
170 a script is available [here][framework-script]
176 To solve this either remove "x86-64" from the list of architectures in
177 the [build script][framework-script] or split the binary and recreate it without x86-64.
178 For instructions on how to do this see [here][strip-arch].
182 [webrtc-prerequisite-sw]: https://webrtc.googlesource.com/src/+/main/docs/native-code/development/p…
183 [webrtc-development]: https://webrtc.googlesource.com/src/+/main/docs/native-code/development/index…
184 [framework-script]: https://webrtc.googlesource.com/src/+/main/tools_webrtc/ios/build_ios_libs.py
185 [ninja]: https://ninja-build.org/
187 [ios-deploy]: https://github.com/phonegap/ios-deploy
188 [strip-arch]: http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries