New Build System Tricks
# enable internal menu defaults write com.apple.dt.Xcode ShowDVTDebugMenu -bool YES alias xcbuild=$(xcode-select -p)/../SharedFrameworks/XCBuild.framework/Versions/A/Support/xcbuild
|// The trick is to link the DeviceSupport folder from the beta to the stable version.|
|// sudo needed if you run the Mac App Store version. Always download the dmg instead... you'll thank me later :)|
|// Support iOS 13.2 devices (Xcode 11.2) with Xcode 11.1:|
|sudo ln -s /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.2 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport|
|// Xcode 10.3 to Xcode 11|
|sudo ln -s /Applications/Xcode-11.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.0 /Applications/Xcode-10.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport|
|// Then restart Xcode and reconnect your devices. You will need to do that for every beta of future iOS versions|
Xcode loads xcspec files (ascii plists) that specify everything (tools, buildphases, compilers, rules, etc) based on a set of conditions.
To evaluate these conditions you have to load these files and simulate the build process and construct your own "environment"
The target's build settings will help to resolve most of the environment variables by taking the basics from the
particular platform you are using for the target (resolved from the SDKROOT value
xcrun --show-sdk-platform-path --sdk)
when you load the spec of the compiler there is a key on it called "Options" which is an array of dictionaries that have
Simple collection of Groovy scripts to help me maintain some Jenkins systems.
Please comment & let me know if you have a fork / fixes you'd like to include.