fastlane
deliver • snapshot • frameit • pem • sigh • produce • cert • spaceship • pilot • boarding • gym • scan • match
deliver
Upload screenshots, metadata and your app to the App Store using a single command
deliver
can upload ipa or pkg files, app screenshots and more to iTunes Connect from the command line.
Get in contact with the developer on Twitter: @FastlaneTools
Features • Installation • Quick Start • Usage • Tips • Need help?
deliver
is part of fastlane: connect all deployment tools into one streamlined workflow.
Features
- Upload hundreds of localised screenshots completely automatically
- Upload a new ipa/pkg file to iTunes Connect without Xcode from any Mac
- Maintain your app metadata locally and push changes back to iTunes Connect
- Easily implement a real Continuous Deployment process using fastlane
- Store the configuration in git to easily deploy from any Mac, including your Continuous Integration server
- Get a HTML preview of the fetched metadata before uploading the app metadata and screenshots to iTC
To upload builds to TestFlight check out pilot.
Like this tool? Be the first to know about updates and new fastlane tools
Installation
Install the gem
sudo gem install deliver
Make sure, you have the latest version of the Xcode command line tools installed:
xcode-select --install
Quick Start
The guide will create all the necessary files for you, using the existing app metadata from iTunes Connect.
cd [your_project_folder]
deliver init
- Enter your iTunes Connect credentials
- Enter your app identifier
- Enjoy a good drink, while the computer does all the work for you
From now on, you can run deliver
to deploy a new update, or just upload new app metadata and screenshots.
Already using deliver
and just updated to 1.0? Check out the Migration Guide.
Usage
Check out your local ./fastlane/metadata
and ./fastlane/screenshots
folders (if you don't use fastlane it's ./metadata
instead)
You'll see your metadata from iTunes Connect. Feel free to store the metadata in git (not the screenshots). You can now modify it locally and push the changes back to iTunes Connect.
Run deliver
to upload the app metadata from your local machine
deliver
Provide the path to an ipa
file to upload and submit your app for review:
deliver --ipa "App.ipa" --submit_for_review
or you can specify path to pkg
file for Mac OS X apps:
deliver --pkg "MacApp.pkg"
If you use fastlane you don't have to manually specify the path to your ipa
/pkg
file.
This is just a small sub-set of what you can do with deliver
, check out the full documentation in Deliverfile.md
Download existing screenshots from iTunes Connect
deliver download_screenshots
To get a list of available options run
deliver --help
Check out Deliverfile.md for more options.
Already using deliver
and just updated to 1.0? Check out the Migration Guide.
Credentials
A detailed description about your credentials is available on a separate repo.
How does this thing even work? Is magic involved? 🎩
Your password will be stored in the Mac OS X keychain, but can also be passed using environment variables. (More information available on CredentialsManager)
Before actually uploading anything to iTunes, deliver
will generate a HTML summary of the collected data.
deliver
uses the following techniques under the hood:
- The iTMSTransporter tool is used to upload the binary to iTunes Connect. iTMSTransporter is a command line tool provided by Apple.
- For all metadata related actions
deliver
uses spaceship
Tips
fastlane
Toolchain
fastlane
: Connect all deployment tools into one streamlined workflowsnapshot
: Automate taking localized screenshots of your iOS app on every deviceframeit
: Quickly put your screenshots into the right device framespem
: Automatically generate and renew your push notification profilessigh
: Because you would rather spend your time building stuff than fighting provisioningproduce
: Create new iOS apps on iTunes Connect and Dev Portal using the command linecert
: Automatically create and maintain iOS code signing certificatesspaceship
: Ruby library to access the Apple Dev Center and iTunes Connectpilot
: The best way to manage your TestFlight testers and builds from your terminalboarding
: The easiest way to invite your TestFlight beta testersgym
: Building your iOS apps has never been easierscan
: The easiest way to run tests of your iOS and Mac appmatch
: Easily sync your certificates and profiles across your team using git
Like this tool? Be the first to know about updates and new fastlane tools
Available language codes
no, en-US, en-CA, fi, ru, zh-Hans, nl-NL, zh-Hant, en-AU, id, de-DE, sv, ko, ms, pt-BR, el, es-ES, it, fr-CA, es-MX, pt-PT, vi, th, ja, fr-FR, da, tr, en-GB
Automatically create screenshots
If you want to integrate deliver
with snapshot, check out fastlane!
Jenkins integration
Detailed instructions about how to set up deliver
and fastlane
in Jenkins
can be found in the fastlane README.
Firewall Issues
deliver
uses the iTunes Transporter to upload metadata and binaries. In case you are behind a firewall, you can specify a different transporter protocol using
DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS="-t DAV" deliver
Limit
Apple has a limit of 150 binary uploads per day.
Editing the Deliverfile
Change syntax highlighting to Ruby.
Need help?
Please submit an issue on GitHub and provide information about your setup
Code of Conduct
Help us keep deliver
open and inclusive. Please read and follow our Code of Conduct.
License
This project is licensed under the terms of the MIT license. See the LICENSE file.
This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.