| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Codecov Report
@@ Coverage Diff @@
## master #1310 +/- ##
=======================================
Coverage 78.48% 78.49%
=======================================
Files 15 15
Lines 1780 1790 +10
=======================================
+ Hits 1397 1405 +8
- Misses 383 385 +2
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Sorry, something went wrong.
Once upon a time, Xcode's default directory values had issues when there were spaces in project names, so we override the CONFIGURATION_BUILD_DIR and SHARED_PRECOMPS_DIR variables with our own paths. However, this can interfere with Cocoapods, and Xcode should be able to handle things sensibly nowadays. Unfortunately, that results in our build artifacts living somewhere in a randomly-named Xcode DerivedData directory, and then we can't do things like run the app in a simulator or on a device because we don't know the path to it. Setting SYMROOT allows us to control the output directory of the built products, with the caveat that Xcode always creates a subdirectory named with the current configuration. So instead of `build/emulator`, we'll have `build/Debug-iphonesimulator` and instead of `build/device`, we'll have `build/Release-iphoneos`. Hypothetically this is better because now we are sure that debug and release files never get mixed up in the same output directory. The downside is that this is a breaking change because it alters the path for the output .ipa files. Closes apache#617. Closes apache#659. Closes apache#671. Co-Authored-By: Susan Tan <onceuponatimeforever@gmail.com>
There was a problem hiding this comment.
Code Changes LGTM
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Platforms affected
iOS
Motivation and Context
Specifying CONFIGURATION_BUILD_DIR can cause issues with Cocoapods.
Closes #617
Closes #659
Closes #671
Description
Once upon a time, Xcode's default directory values had issues when there were spaces in project names, so we override the CONFIGURATION_BUILD_DIR and SHARED_PRECOMPS_DIR variables with our own paths.
However, this can interfere with Cocoapods, and Xcode should be able to handle things sensibly nowadays.
Unfortunately, that results in our build artifacts living somewhere in a randomly-named Xcode DerivedData directory, and then we can't do things like run the app in a simulator or on a device because we don't know the path to it. 🤦🏼♂️
Setting SYMROOT allows us to control the output directory of the built products, with the caveat that Xcode always creates a subdirectory named with the current configuration.
So instead of build/emulator, we'll have build/Debug-iphonesimulator and instead of build/device, we'll have build/Release-iphoneos.
Hypothetically this is better because now we are sure that debug and release files never get mixed up in the same output directory.
The downside is that this is a breaking change because it alters the path for the output .ipa files.
Testing
Checklist