[ios] Remove the support for bitcode

According to Xcode 14 documentation [1]:

  > Xcode no longer builds bitcode by default and generates a warning
  > message if a project explicitly enables bitcode: “Building with
  > bitcode is deprecated. Please update your project and/or target
  > settings to disable bitcode.” The capability to build with bitcode
  > will be removed in a future Xcode release. IPAs that contain bitcode
  > will have the bitcode stripped before being submitted to the App
  > Store. Debug symbols for past bitcode submissions remain available
  > for download. (86118779)

[1]: https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-14-release-notes

Bug: webrtc:14237
Change-Id: I39fb618409e1978f8e7b42aa71208e00ed69d85f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267407
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/main@{#37415}
This commit is contained in:
Sylvain Defresne 2022-07-01 16:24:47 +02:00 committed by WebRTC LUCI CQ
parent 67d23043f3
commit a5f267d5ac
2 changed files with 6 additions and 19 deletions

View file

@ -2,9 +2,8 @@
## Development Environment ## Development Environment
In case you need to build the framework manually In case you need to build the framework manually or you want to try out the
(for instance if you need to support bitcode) or you want to try out the demo application demo application AppRTCMobile, follow the instructions illustrated bellow.
AppRTCMobile, follow the instructions illustrated bellow.
A macOS machine is required for iOS development. While it's possible to A macOS machine is required for iOS development. While it's possible to
develop purely from the command line with text editors, it's easiest to use develop purely from the command line with text editors, it's easiest to use
@ -170,11 +169,6 @@ If you need a FAT `.framework`, that is, a binary that contains code for
multiple architectures, and will work both on device and in the simulator, multiple architectures, and will work both on device and in the simulator,
a script is available [here][framework-script] a script is available [here][framework-script]
To build the framework with bitcode support, pass the `--bitcode` flag to the script like so
```
$ python tools_webrtc/ios/build_ios_libs.py --bitcode
```
The resulting framework can be found in out_ios_libs/. The resulting framework can be found in out_ios_libs/.
Please note that you can not ship the FAT framework binary with your app Please note that you can not ship the FAT framework binary with your app

View file

@ -87,11 +87,6 @@ def _ParseArgs():
type=int, type=int,
default=0, default=0,
help='Specifies a revision number to embed if building the framework.') help='Specifies a revision number to embed if building the framework.')
parser.add_argument('-e',
'--bitcode',
action='store_true',
default=False,
help='Compile with bitcode.')
parser.add_argument('--verbose', parser.add_argument('--verbose',
action='store_true', action='store_true',
default=False, default=False,
@ -154,7 +149,7 @@ def _ParseArchitecture(architectures):
def BuildWebRTC(output_dir, target_environment, target_arch, flavor, def BuildWebRTC(output_dir, target_environment, target_arch, flavor,
gn_target_name, ios_deployment_target, libvpx_build_vp9, gn_target_name, ios_deployment_target, libvpx_build_vp9,
use_bitcode, use_goma, extra_gn_args): use_goma, extra_gn_args):
gn_args = [ gn_args = [
'target_os="ios"', 'target_os="ios"',
'ios_enable_code_signing=false', 'ios_enable_code_signing=false',
@ -179,8 +174,7 @@ def BuildWebRTC(output_dir, target_environment, target_arch, flavor,
gn_args.append('rtc_libvpx_build_vp9=' + gn_args.append('rtc_libvpx_build_vp9=' +
('true' if libvpx_build_vp9 else 'false')) ('true' if libvpx_build_vp9 else 'false'))
gn_args.append('enable_ios_bitcode=' + ('true' if use_bitcode else 'false')) gn_args.append('use_lld=true')
gn_args.append('use_lld=' + ('false' if use_bitcode else 'true'))
gn_args.append('use_goma=' + ('true' if use_goma else 'false')) gn_args.append('use_goma=' + ('true' if use_goma else 'false'))
gn_args.append('rtc_enable_objc_symbol_export=true') gn_args.append('rtc_enable_objc_symbol_export=true')
@ -228,7 +222,6 @@ def main():
return 0 return 0
gn_target_name = 'framework_objc' gn_target_name = 'framework_objc'
if not args.bitcode:
gn_args.append('enable_dsyms=true') gn_args.append('enable_dsyms=true')
gn_args.append('enable_stripping=true') gn_args.append('enable_stripping=true')
@ -244,7 +237,7 @@ def main():
lib_paths.append(lib_path) lib_paths.append(lib_path)
BuildWebRTC(lib_path, environment, arch, args.build_config, BuildWebRTC(lib_path, environment, arch, args.build_config,
gn_target_name, IOS_DEPLOYMENT_TARGET[environment], gn_target_name, IOS_DEPLOYMENT_TARGET[environment],
LIBVPX_BUILD_VP9, args.bitcode, args.use_goma, gn_args) LIBVPX_BUILD_VP9, args.use_goma, gn_args)
all_lib_paths.extend(lib_paths) all_lib_paths.extend(lib_paths)
# Combine the slices. # Combine the slices.