1) Install the latest Xcode command line tools
2) Install fastlane
Currently and officially, Xcode is only available through Mac App Store or iTunes, but still Mac users can download xcode without app store and without Apple ID for free. Although, xCode software is only compatible with macOS, but still Windows users can download, install and run PC version of xcode through virtual machine software like VMware. Xcode 4.2 is the last version to support Mac OS X 10.6 'Snow Leopard', but is available only to registered developers with paid accounts; without a paid account, 3.2.6 is the latest download that appears for Snow Leopard.
Xcode App Download For Android
3) Navigate to your project and run
This page contains a list of all built-in fastlane actions and their available options.
To get the most up-to-date information from the command line on your current version you can also run
You can import another Fastfile
by using the import
action. This is useful if you have shared lanes across multiple apps and you want to store a Fastfile
in a separate folder. The path must be relative to the Fastfile
this is called from.
For fastlane plugins, check out the available plugins page.If you want to create your own action, check out the local actions page.
Action | Description | Supported Platforms |
---|---|---|
scan | Alias for the run_tests action | ios, mac |
slather | Use slather to generate a code coverage report | ios, mac |
swiftlint | Run swift code validation using SwiftLint | ios, mac |
xcov | Nice code coverage reports without hassle | ios, mac |
sonar | Invokes sonar-scanner to programmatically run SonarQube analysis | ios, android, mac |
oclint | Lints implementation files with OCLint | ios, android, mac |
gcovr | Runs test coverage reports for your Xcode project | ios |
lcov | Generates coverage data using lcov | ios, mac |
appium | Run UI test by Appium with RSpec | ios, android |
xctool | Run tests using xctool | ios, mac |
run_tests | Easily run tests of your iOS app (via scan) | ios, mac |
xcode_server_get_assets | Downloads Xcode Bot assets like the .xcarchive and logs | ios, mac |
Action | Description | Supported Platforms |
---|---|---|
gym | Alias for the build_app action | ios, mac |
cocoapods | Runs pod install for the project | ios, mac |
gradle | All gradle related actions, including building and testing your Android app | ios, android |
clear_derived_data | Deletes the Xcode Derived Data | ios, mac |
adb | Run ADB Actions | android |
xcversion | Select an Xcode to use by version specifier | ios, mac |
xcodebuild | Use the xcodebuild command to build and sign your app | ios, mac |
carthage | Runs carthage for your project | ios, mac |
xcode_select | Change the xcode-path to use. Useful for beta versions of Xcode | ios, mac |
ensure_xcode_version | Ensure the right version of Xcode is used | ios, mac |
clean_cocoapods_cache | Remove the cache for pods | ios, mac |
verify_xcode | Verifies that the Xcode installation is properly signed by Apple | ios, mac |
xcode_install | Make sure a certain version of Xcode is installed | ios, mac |
verify_pod_keys | Verifies all keys referenced from the Podfile are non-empty | ios, mac |
xcbuild | Builds the project using xcodebuild | ios, mac |
build_android_app | Alias for the gradle action | ios, android |
create_xcframework | Package multiple build configs of a library/framework into a single xcframework | ios, mac |
build_app | Easily build and sign your app (via gym) | ios, mac |
xcclean | Cleans the project using xcodebuild | ios, mac |
build_ios_app | Alias for the build_app action but only for iOS | ios |
spm | Runs Swift Package Manager on your project | ios, android, mac |
xcarchive | Archives the project using xcodebuild | ios, mac |
build_mac_app | Alias for the build_app action but only for macOS | mac |
xctest | Runs tests on the given simulator | ios, mac |
xcexport | Exports the project using xcodebuild | ios, mac |
Action | Description | Supported Platforms |
---|---|---|
snapshot | Alias for the capture_ios_screenshots action | ios, mac |
screengrab | Alias for the capture_android_screenshots action | android |
frameit | Alias for the frame_screenshots action | ios, android, mac |
frame_screenshots | Adds device frames around all screenshots (via frameit) | ios, android, mac |
capture_ios_screenshots | Generate new localized screenshots on multiple devices (via snapshot) | ios, mac |
capture_screenshots | Alias for the capture_ios_screenshots action | ios, mac |
capture_android_screenshots | Automated localized screenshots of your Android app (via screengrab) | android |
Action | Description | Supported Platforms |
---|---|---|
increment_build_number | Increment the build number of your project | ios, mac |
set_info_plist_value | Sets value to Info.plist of your project as native Ruby data structures | ios, mac |
get_version_number | Get the version number of your project | ios, mac |
get_info_plist_value | Returns value from Info.plist of your project as native Ruby data structures | ios, mac |
update_info_plist | Update a Info.plist file with bundle identifier and display name | ios |
update_app_identifier | Update the project's bundle identifier | ios |
get_build_number | Get the build number of your project | ios, mac |
increment_version_number | Increment the version number of your project | ios, mac |
update_project_team | Update Xcode Development Team ID | ios, mac |
update_app_group_identifiers | This action changes the app group identifiers in the entitlements file | ios |
get_ipa_info_plist_value | Returns a value from Info.plist inside a .ipa file | ios, mac |
recreate_schemes | Recreate not shared Xcode project schemes | ios, mac |
update_url_schemes | Updates the URL schemes in the given Info.plist | ios, mac |
set_build_number_repository | Set the build number from the current repository | ios, mac |
set_pod_key | Sets a value for a key with cocoapods-keys | ios, mac |
update_keychain_access_groups | This action changes the keychain access groups in the entitlements file | ios |
update_plist | Update a plist file | ios |
Action | Description | Supported Platforms |
---|---|---|
sigh | Alias for the get_provisioning_profile action | ios, mac |
match | Alias for the sync_code_signing action | ios, mac |
cert | Alias for the get_certificates action | ios |
import_certificate | Import certificate from inputfile into a keychain | ios, android, mac |
update_project_provisioning | Update projects code signing settings from your provisioning profile | ios, mac |
resign | Codesign an existing ipa file | ios |
register_devices | Registers new devices to the Apple Dev Portal | ios, mac |
register_device | Registers a new device to the Apple Dev Portal | ios |
get_certificates | Create new iOS code signing certificates (via cert) | ios |
sync_code_signing | Easily sync your certificates and profiles across your team (via match) | ios, mac |
install_provisioning_profile | Install provisioning profile from path | ios, mac |
match_nuke | Easily nuke your certificate and provisioning profiles (via match) | ios, mac |
update_code_signing_settings | Configures Xcode's Codesigning options | ios, mac |
get_provisioning_profile | Generates a provisioning profile, saving it in the current folder (via sigh) | ios, mac |
notarize | Notarizes a macOS app | mac |
Action | Description | Supported Platforms |
---|---|---|
jazzy | Generate docs using Jazzy | ios, mac |
appledoc | Generate Apple-like source code documentation from the source code | ios, mac |
Action | Description | Supported Platforms |
---|---|---|
pilot | Alias for the upload_to_testflight action | ios |
testflight | Alias for the upload_to_testflight action | ios |
deploygate | Upload a new build to DeployGate | ios, android |
apteligent | Upload dSYM file to Apteligent (Crittercism) | ios |
appetize | Upload your app to Appetize.io to stream it in browser | ios, android |
testfairy | Upload a new build to TestFairy | ios, android |
appaloosa | Upload your app to Appaloosa Store | ios, android, mac |
nexus_upload | Upload a file to Sonatype Nexus platform | ios, android, mac |
installr | Upload a new build to Installr | ios |
splunkmint | Upload dSYM file to Splunk MINT | ios |
tryouts | Upload a new build to Tryouts | ios, android |
podio_item | Creates or updates an item within your Podio app | ios, android, mac |
upload_to_testflight | Upload new binary to App Store Connect for TestFlight beta testing (via pilot) | ios |
Action | Description | Supported Platforms |
---|---|---|
pem | Alias for the get_push_certificate action | ios |
update_urban_airship_configuration | Set Urban Airship plist configuration values | ios |
onesignal | Create or update a new OneSignal application | ios, android |
get_push_certificate | Ensure a valid push profile is active, creating a new one if needed (via pem) | ios |
Action | Description | Supported Platforms |
---|---|---|
deliver | Alias for the upload_to_app_store action | ios, mac |
supply | Alias for the upload_to_play_store action | android |
appstore | Alias for the upload_to_app_store action | ios, mac |
upload_app_privacy_details_to_app_store | Upload App Privacy Details for an app in App Store Connect | ios, mac |
download_from_play_store | Download metadata and binaries from Google Play (via supply) | android |
download_app_privacy_details_from_app_store | Download App Privacy Details from an app in App Store Connect | ios, mac |
upload_to_app_store | Upload metadata and binary to App Store Connect (via deliver) | ios, mac |
upload_to_play_store_internal_app_sharing | Upload binaries to Google Play Internal App Sharing (via supply) | android |
upload_to_play_store | Upload metadata, screenshots and binaries to Google Play (via supply) | android |
Action | Description | Supported Platforms |
---|---|---|
ensure_git_status_clean | Raises an exception if there are uncommitted git changes | ios, android, mac |
git_branch | Returns the name of the current git branch, possibly as managed by CI ENV vars | ios, android, mac |
last_git_commit | Return last git commit hash, abbreviated commit hash, commit message and author | ios, android, mac |
reset_git_repo | Resets git repo to a clean state by discarding uncommitted changes | ios, android, mac |
changelog_from_git_commits | Collect git commit messages into a changelog | ios, android, mac |
number_of_commits | Return the number of commits in current git branch | ios, android, mac |
git_pull | Executes a simple git pull command | ios, android, mac |
last_git_tag | Get the most recent git tag | ios, android, mac |
push_to_git_remote | Push local changes to the remote branch | ios, android, mac |
add_git_tag | This will add an annotated git tag to the current branch | ios, android, mac |
commit_version_bump | Creates a 'Version Bump' commit. Run after increment_build_number | ios, mac |
git_tag_exists | Checks if the git tag with the given name exists in the current repo | ios, android, mac |
ensure_git_branch | Raises an exception if not on a specific git branch | ios, android, mac |
git_commit | Directly commit the given file with the given message | ios, android, mac |
push_git_tags | Push local tags to the remote - this will only push tags | ios, android, mac |
git_add | Directly add the given file or all files | ios, android, mac |
get_build_number_repository | Get the build number from the current repository | ios, mac |
set_github_release | This will create a new release on GitHub and upload assets for it | ios, android, mac |
create_pull_request | This will create a new pull request on GitHub | ios, android, mac |
get_github_release | This will verify if a given release version is available on GitHub | ios, android, mac |
hg_ensure_clean_status | Raises an exception if there are uncommitted hg changes | ios, android, mac |
hg_commit_version_bump | This will commit a version bump to the hg repo | ios, android, mac |
hg_push | This will push changes to the remote hg repository | ios, android, mac |
hg_add_tag | This will add a hg tag to the current branch | ios, android, mac |
github_api | Call a GitHub API endpoint and get the resulting JSON response | ios, android, mac |
commit_github_file | This will commit a file directly on GitHub via the API | ios, android, mac |
git_submodule_update | Executes a git submodule command | ios, android, mac |
Action | Description | Supported Platforms |
---|---|---|
slack | Send a success/error message to your Slack group | ios, android, mac |
notification | Display a macOS notification with custom message and title | ios, android, mac |
hipchat | Send a error/success message to HipChat | ios, android, mac |
mailgun | Send a success/error message to an email group | ios, android, mac |
chatwork | Send a success/error message to ChatWork | ios, android, mac |
ifttt | Connect to the IFTTT Maker Channel | ios, android, mac |
flock | Send a message to a Flock group | ios, android, mac |
Post a tweet on Twitter.com | ios, android, mac | |
typetalk | Post a message to Typetalk | ios, android, mac |
Action | Description | Supported Platforms |
---|---|---|
produce | Alias for the create_app_online action | ios |
precheck | Alias for the check_app_store_metadata action | ios |
latest_testflight_build_number | Fetches most recent build number from TestFlight | ios, mac |
download_dsyms | Download dSYM files from App Store Connect for Bitcode apps | ios |
app_store_build_number | Returns the current build_number of either live or edit version | ios, mac |
set_changelog | Set the changelog for all languages on App Store Connect | ios, mac |
create_app_online | Creates the given application on iTC and the Dev Portal (via produce) | ios |
check_app_store_metadata | Check your app's metadata before you submit your app to review (via precheck) | ios |
app_store_connect_api_key | Load the App Store Connect API token to use in other fastlane tools and actions | ios, android, mac |
Action | Description | Supported Platforms |
---|---|---|
puts | Prints out the given text | ios, android, mac |
default_platform | Defines a default platform to not have to specify the platform | ios, android, mac |
fastlane_version | Alias for the min_fastlane_version action | ios, android, mac |
lane_context | Access lane context values | ios, android, mac |
import | Import another Fastfile to use its lanes | ios, android, mac |
import_from_git | Import another Fastfile from a remote git repository to use its lanes | ios, android, mac |
clean_build_artifacts | Deletes files created as result of running gym, cert, sigh or download_dsyms | ios, mac |
skip_docs | Skip the creation of the fastlane/README.md file when running fastlane | ios, android, mac |
is_ci | Is the current run being executed on a CI system, like Jenkins or Travis | ios, android, mac |
setup_jenkins | Setup xcodebuild, gym and scan for easier Jenkins integration | ios, mac |
unlock_keychain | Unlock a keychain | ios, android, mac |
update_fastlane | Makes sure fastlane-tools are up-to-date when running fastlane | ios, android, mac |
bundle_install | This action runs bundle install (if available) | ios, android, mac |
upload_symbols_to_crashlytics | Upload dSYM symbolication files to Crashlytics | ios |
create_keychain | Create a new Keychain | ios, android, mac |
delete_keychain | Delete keychains and remove them from the search list | ios, android, mac |
backup_file | This action backs up your file to '[path].back' | ios, android, mac |
copy_artifacts | Copy and save your build artifacts (useful when you use reset_git_repo) | ios, android, mac |
prompt | Ask the user for a value or for confirmation | ios, android, mac |
reset_simulator_contents | Shutdown and reset running simulators | ios |
restore_file | This action restore your file that was backuped with the backup_file action | ios, android, mac |
say | This action speaks the given text out loud | ios, android, mac |
zip | Compress a file or folder to a zip | ios, android, mac |
danger | Runs danger for the project | ios, android, mac |
artifactory | This action uploads an artifact to artifactory | ios, android, mac |
version_bump_podspec | Increment or set the version in a podspec file | ios, mac |
team_id | Specify the Team ID you want to use for the Apple Developer Portal | ios |
backup_xcarchive | Save your [zipped] xcarchive elsewhere from default path | ios, mac |
pod_lib_lint | Pod lib lint | ios, mac |
erb | Allows to Generate output files based on ERB templates | ios, android, mac |
download | Download a file from a remote server (e.g. JSON file) | ios, android, mac |
rocket | Outputs ascii-art for a rocket 🚀 | ios, android, mac |
debug | Print out an overview of the lane context values | ios, android, mac |
make_changelog_from_jenkins | Generate a changelog using the Changes section from the current Jenkins build | ios, android, mac |
pod_push | Push a Podspec to Trunk or a private repository | ios, mac |
dsym_zip | Creates a zipped dSYM in the project root from the .xcarchive | ios, mac |
ensure_no_debug_code | Ensures the given text is nowhere in the code base | ios, android, mac |
cloc | Generates a Code Count that can be read by Jenkins (xml format) | ios, mac |
team_name | Set a team to use by its name | ios |
scp | Transfer files via SCP | ios, android, mac |
verify_build | Able to verify various settings in ipa file | ios |
install_on_device | Installs an .ipa file on a connected iOS-device via usb or wifi | ios |
version_get_podspec | Receive the version number from a podspec file | ios, mac |
rsync | Rsync files from :source to :destination | ios, android, mac |
adb_devices | Get an array of Connected android device serials | android |
dotgpg_environment | Reads in production secrets set in a dotgpg file and puts them in ENV | ios, android, mac |
jira | Leave a comment on JIRA tickets | ios, android, mac |
read_podspec | Loads a CocoaPods spec as JSON | ios, mac |
ssh | Allows remote command execution using ssh | ios, android, mac |
appetize_viewing_url_generator | Generate an URL for appetize simulator | ios |
install_xcode_plugin | Install an Xcode plugin for the current user | ios, mac |
add_extra_platforms | Modify the default list of supported platforms | ios, android, mac |
clipboard | Copies a given string into the clipboard. Works only on macOS | ios, android, mac |
build_and_upload_to_appetize | Generate and upload an ipa file to appetize.io | ios |
update_icloud_container_identifiers | This action changes the iCloud container identifiers in the entitlements file | ios |
sh | Runs a shell command | ios, android, mac |
plugin_scores | 001b[31mNo description provided001b[0m | ios, android, mac |
validate_play_store_json_key | Validate that the Google Play Store json_key works | android |
ruby_version | Verifies the minimum ruby version required | ios, android, mac |
echo | Alias for the puts action | ios, android, mac |
google_play_track_version_codes | Retrieves version codes for a Google Play track | android |
google_play_track_release_names | Retrieves release names for a Google Play track | android |
get_managed_play_store_publishing_rights | Obtain publishing rights for custom apps on Managed Google Play Store | android |
setup_circle_ci | Setup the keychain and match to work with CircleCI | ios, android, mac |
spaceship_stats | Print out Spaceship stats from this session (number of request to each domain) | ios, android, mac |
println | Alias for the puts action | ios, android, mac |
min_fastlane_version | Verifies the minimum fastlane version required | ios, android, mac |
ensure_env_vars | Raises an exception if the specified env vars are not set | ios, android, mac |
setup_travis | Setup the keychain and match to work with Travis CI | ios, android, mac |
spaceship_logs | Find, print, and copy Spaceship logs | ios, android, mac |
create_app_on_managed_play_store | Create Managed Google Play Apps | android |
setup_ci | Setup the keychain and match to work with CI | ios, mac |
opt_out_usage | This will stop uploading the information which actions were run | ios, android, mac |
environment_variable | Sets/gets env vars for Fastlane.swift. Don't use in ruby, use ENV[key] = val | ios, android, mac |
modify_services | Modifies the services of the app created on Developer Portal | ios |
ensure_bundle_exec | Raises an exception if not using bundle exec to run fastlane | ios, android, mac |
Xcode For Android Download Mac
Action | Description | Supported Platforms |
---|---|---|
crashlytics | Refer to Firebase App Distribution | ios, android, mac |
hockey | Refer to App Center | ios, android, mac |
badge | Automatically add a badge to your app icon | ios, android, mac |
automatic_code_signing | Configures Xcode's Codesigning options | ios, mac |
s3 | Generates a plist file and uploads all to AWS S3 | |
notify | Shows a macOS notification - use notification instead | ios, android, mac |
update_project_code_signing | Updated code signing settings from 'Automatic' to a specific profile | ios |
ipa | Easily build and sign your app using shenzhen | ios |
upload_symbols_to_sentry | Upload dSYM symbolication files to Sentry | ios |
opt_out_crash_reporting | This will prevent reports from being uploaded when fastlane crashes | ios, android, mac |