ensure_xcode_version
Ensure the right version of Xcode is used
The xcode-install gem, which this action depends on, has been sunset. Please migrate to xcodes. You can find a migration guide here: xcpretty/xcode-install/MIGRATION.md
If building your app requires a specific version of Xcode, you can invoke this command before using gym.
For example, to ensure that a beta version of Xcode is not accidentally selected to build, which would make uploading to TestFlight fail.
You can either manually provide a specific version usingversion:or you make use of the.xcode-versionfile.
Using thestrictparameter, you can either verify the full set of version numbers strictly (i.e.11.3.1) or only a subset of them (i.e.11.3or11).
| ensure_xcode_version | |
|---|---|
| Supported platforms | ios, mac |
| Author | @JaviSoto, @KrauseFx |
1 Example
ensure_xcode_version(version: "12.5")
Parameters
| Key | Description | Default |
|---|---|---|
version |
Xcode version to verify that is selected | |
strict |
Should the version be verified strictly (all 3 version numbers), or matching only the given version numbers (i.e. 11.3 == 11.3.x) |
true |
* = default value is dependent on the user's system
Lane Variables
Actions can communicate with each other using a shared hash lane_context, that can be accessed in other actions, plugins or your lanes: lane_context[SharedValues:XYZ]. The ensure_xcode_version action generates the following Lane Variables:
| SharedValue | Description |
|---|---|
SharedValues::FL_ENSURE_XCODE_VERSION |
Xcode version to verify that is selected |
To get more information check the Lanes documentation.
Documentation
To show the documentation in your terminal, run
fastlane action ensure_xcode_version
CLI
It is recommended to add the above action into your Fastfile, however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal
fastlane run ensure_xcode_version
To pass parameters, make use of the : symbol, for example
fastlane run ensure_xcode_version parameter1:"value1" parameter2:"value2"
It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. param:"1,2,3"). Hashes are not currently supported.
It is recommended to add all fastlane actions you use to your Fastfile.
Source code
This action, just like the rest of fastlane, is fully open source, view the source code on GitHub