question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

☂️ Supporting Xcode 10 and the new Xcode build system

See original GitHub issue

For Discussion

This task tracks issues with Xcode 10 as well as the new Xcode build system. This modern build system was originally introduced in Xcode 9, and it is now used by default in Xcode 10.

Troubleshooting

Please take a look at the list of known issues below. If your issue does not match any of these, please try the following:

  • Clean up your project.
  • Remove any build artifacts.
  • Re-build the app.

If that does not work, please do the following to help us keep track of any remaining issues that need to be solved:

  1. File a new issue.
  2. Add a link back to this issue, https://github.com/facebook/react-native/issues/19573

A maintainer will then update this post with a reference to your issue as needed.

Known Issues

  • #20774 - When new Xcode build system is used, Xcode build fails to download third-party dependencies (workaround in the issue description)

Fixed Issues

  • #16881 - Xcode signing issues due to Facebook Team ID being used by default in npm release

  • #19569 - Xcode 10 libfishhook.a cannot be found

  • #19774 - glog (config.h missing) and gflags/gflags.h

  • #19781 - wrong iOS simulator is used in Xcode 10

  • #19839 - third-party encounters a semantic issue during Xcode builds to physical iOS device

  • #21137 - Unable to open dependencies file when archiving a project

  • #20492 - ‘Multiple commands produce’ error when building with new Xcode build system

Opting out of the new Xcode build system

For issues related to the new Xcode build system, you may be able to unblock yourself by switching to the legacy build system.

Using Xcode:

  1. Go to File, then Project Settings or Workspace Settings.
  2. Select Legacy Build System from the Build System dropdown.

screen shot 2018-09-25 at 1 48 03 pm

Using xcodebuild:

You may use the -UseModernBuildSystem=NO flag to opt out of the new Xcode build system.

Mitigating issues in future Xcode updates

Currently, our CI runs tests on the latest stable Xcode release. We could have caught many of these issues by doing two things:

  • Opting into the new build system in CI
  • Using the Xcode 10.0 beta in CI when it was introduced this summer

PRs that add support for either of these are welcome. For the latter, we’d look for Xcode 11 beta support once it’s presumably announced next summer.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:31
  • Comments:20 (12 by maintainers)

github_iconTop GitHub Comments

5reactions
WesSouzacommented, Sep 21, 2018

@hramos please take a look at ~#19772~ #19774, I’ve experienced that on a fresh RN project on two different machines on macOS Mojave.

4reactions
hramoscommented, Jul 3, 2018

@LeoNatan the issue is intentionally ambiguous, and should cover support by the new build system even though it’s available in Xcode 9 as well. In general, we want people, come September, to be able to install Xcode 10 and continue working on their projects without being held back by some incompatibility on our side. Ideally, we’d address any issues ASAP as people have already been working on iOS 12 updates using Xcode 10 for a month now.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Build System Release Notes for Xcode 10 - Apple Developer
Xcode 10 uses a new build system. The new build system provides improved reliability and build performance, and it catches project configuration problems ......
Read more >
Five Things You Must Know About Xcode 10 New Build System
Xcode 10 : New Build System is there for good reasons. Apple released Xcode New Build System with Xcode 9 in the preview...
Read more >
How can I use the legacy build system with Xcode 10's ...
Is there a way to make xcodebuild use the legacy build system without modifying the workspace?
Read more >
Firebase Apple SDK Release Notes - Google
Bitcode is no longer included in Firebase binary distributions. Xcode 14 does not support bitcode. tvOS apps using a Firebase binary distribution will...
Read more >
Behind the Scenes of the Xcode Build Process - WWDC NOTES
the build system takes the build description in your Xcode project file, parses it, takes into account all the files in your project,...
Read more >

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Hashnode Post

No results found