Reland of Do not produce dSYM file for the iOS Frameworks with bitcode (patchset #1 id:1 of https://codereview.webrtc.org/2719773002/ )

Reason for revert:
Fixing issues with the framework builder.

Original issue's description:
> Revert of Do not produce dSYM file for the iOS Frameworks with bitcode (patchset #2 id:20001 of https://codereview.webrtc.org/2705163007/ )
>
> Reason for revert:
> Looks like this caused the iOS API Framework Builder to fail.
>
> https://build.chromium.org/p/client.webrtc/builders/iOS%20API%20Framework%20Builder/builds/3487/steps/zip%20archive/logs/stdio
>
> Zipping /b/rr/tmpkIyP1e/w/webrtc_ios_api_framework.zip...
> Traceback (most recent call last):
>   File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 144, in <module>
>     sys.exit(main())
>   File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 130, in main
>     exit_code = zip_with_subprocess(root, output, entries)
>   File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 43, in zip_with_subprocess
>     assert os.path.isdir(path), path
> AssertionError: /b/c/b/iOS_API_Framework_Builder/src/out_ios_libs/WebRTC.dSYM/
> step returned non-zero exit code: 1
> @@@STEP_FAILURE@@@
>
> Original issue's description:
> > Do not produce dSYM file for the iOS Frameworks with bitcode
> >
> > Though dSYM files can be generated when building applications or libraries
> > with bitcode. They cannot be used to symbolicate crash reports from
> > applications. Instead, developers need to grab the real dSYM files, which
> > are generated for each specific device type after uploading an iOS / tvOS
> > application to App Store (or to a device using Xcode). Apple clearly warns
> > about it in its documentation:
> >
> > https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATION-BITCODE
> >
> > With that in mind, I believe that it would be better to not confuse
> > developers by giving them dSYM files that are not very helpful with
> > the bitcode-enabled framework. Thus, proposing the following modification
> > to the building script, to generate dSYM by default only without
> > the bitcode option. However, if some developers still want to get
> > the dSYM files as a build-process artifact, when enabling bitcode,
> > they can explicitly add --extra-gn-args enable_dsyms=true to the script.
> >
> > Let me know if it lgty.
> >
> > NOTRY=True
> > BUG=None
> >
> > Review-Url: https://codereview.webrtc.org/2705163007
> > Cr-Commit-Position: refs/heads/master@{#16836}
> > Committed: https://chromium.googlesource.com/external/webrtc/+/d74517c52a6cd4172b1f3fdc4e624b6145ff5a0f
>
> TBR=kjellander@webrtc.org,kthelgason@webrtc.org,VladimirTechMan@gmail.com
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=None
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2719773002
> Cr-Commit-Position: refs/heads/master@{#16844}
> Committed: https://chromium.googlesource.com/external/webrtc/+/da00077cfac335503b3335d5eac110f2f5bff408

TBR=kjellander@webrtc.org,vladimirtechman@gmail.com,tommi@webrtc.org
NOTRY=true
BUG=None

Review-Url: https://codereview.webrtc.org/2718983002
Cr-Commit-Position: refs/heads/master@{#16924}
diff --git a/tools-webrtc/ios/build_ios_libs.py b/tools-webrtc/ios/build_ios_libs.py
index 25745e0..7af4771 100755
--- a/tools-webrtc/ios/build_ios_libs.py
+++ b/tools-webrtc/ios/build_ios_libs.py
@@ -110,7 +110,8 @@
     gn_target_name = 'rtc_sdk_objc'
   elif build_type == 'framework':
     gn_target_name = 'rtc_sdk_framework_objc'
-    gn_args.append('enable_dsyms=true')
+    if not use_bitcode:
+      gn_args.append('enable_dsyms=true')
     gn_args.append('enable_stripping=true')
   else:
     raise ValueError('Build type "%s" is not supported.' % build_type)
@@ -177,30 +178,32 @@
     distutils.dir_util.copy_tree(
         os.path.join(lib_paths[0], SDK_FRAMEWORK_NAME),
         os.path.join(args.output_dir, SDK_FRAMEWORK_NAME))
-    try:
-      os.remove(os.path.join(args.output_dir, dylib_path))
-    except OSError:
-      pass
     logging.info('Merging framework slices.')
     dylib_paths = [os.path.join(path, dylib_path) for path in lib_paths]
     out_dylib_path = os.path.join(args.output_dir, dylib_path)
+    try:
+      os.remove(out_dylib_path)
+    except OSError:
+      pass
     cmd = ['lipo'] + dylib_paths + ['-create', '-output', out_dylib_path]
     _RunCommand(cmd)
 
     # Merge the dSYM slices.
-    dsym_path = os.path.join('WebRTC.dSYM', 'Contents', 'Resources', 'DWARF',
-                             'WebRTC')
-    distutils.dir_util.copy_tree(os.path.join(lib_paths[0], 'WebRTC.dSYM'),
-                                 os.path.join(args.output_dir, 'WebRTC.dSYM'))
-    try:
-      os.remove(os.path.join(args.output_dir, dsym_path))
-    except OSError:
-      pass
-    logging.info('Merging dSYM slices.')
-    dsym_paths = [os.path.join(path, dsym_path) for path in lib_paths]
-    out_dsym_path = os.path.join(args.output_dir, dsym_path)
-    cmd = ['lipo'] + dsym_paths + ['-create', '-output', out_dsym_path]
-    _RunCommand(cmd)
+    lib_dsym_dir_path = os.path.join(lib_paths[0], 'WebRTC.dSYM')
+    if os.path.isdir(lib_dsym_dir_path):
+      distutils.dir_util.copy_tree(lib_dsym_dir_path,
+                                   os.path.join(args.output_dir, 'WebRTC.dSYM'))
+      logging.info('Merging dSYM slices.')
+      dsym_path = os.path.join('WebRTC.dSYM', 'Contents', 'Resources', 'DWARF',
+                               'WebRTC')
+      lib_dsym_paths = [os.path.join(path, dsym_path) for path in lib_paths]
+      out_dsym_path = os.path.join(args.output_dir, dsym_path)
+      try:
+        os.remove(out_dsym_path)
+      except OSError:
+        pass
+      cmd = ['lipo'] + lib_dsym_paths + ['-create', '-output', out_dsym_path]
+      _RunCommand(cmd)
 
     # Modify the version number.
     # Format should be <Branch cut MXX>.<Hotfix #>.<Rev #>.