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-version
file.
Using thestrict
parameter, 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.3
or11
).
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