fastlane

deliversnapshotframeitPEMsighproducecertcodes

-------

produce ============ [![Twitter: @KauseFx](https://img.shields.io/badge/contact-@KrauseFx-blue.svg?style=flat)](https://twitter.com/KrauseFx) [![License](http://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/KrauseFx/produce/blob/master/LICENSE) [![Gem](https://img.shields.io/gem/v/produce.svg?style=flat)](http://rubygems.org/gems/produce) ###### Create new iOS apps on iTunes Connect and Dev Portal using your command line ##### This tool was sponsored by [AppInstitute](http://appinstitute.co.uk/). Get in contact with the developer on Twitter: [@KrauseFx](https://twitter.com/KrauseFx) -------

FeaturesInstallationUsageHow does it work?TipsNeed help?

-------
produce is part of fastlane: connect all deployment tools into one streamlined workflow.
# Features - **Create** new apps on both iTunes Connect and the Apple Developer Portal - Support for **multiple Apple accounts**, storing your credentials securely in the Keychain ##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx) # Installation sudo gem install produce # Usage produce # Parameters Get the latest list of all available parameters; produce --help ``` -u, --username STRING Your Apple ID Username (PRODUCE_USERNAME) -a, --app_identifier STRING App Identifier (Bundle ID, e.g. com.krausefx.app) (PRODUCE_APP_IDENTIFIER) -b, --bundle_identifier_suffix STRING App Identifier Suffix (Ignored if App Identifier does not ends with .*) (PRODUCE_APP_IDENTIFIER_SUFFIX) -a, --app_name STRING App Name (PRODUCE_APP_NAME) -v, --version STRING Initial version number (e.g. '1.0') (PRODUCE_VERSION) -s, --sku SKU Number (e.g. '1234') (PRODUCE_SKU) -l, --language STRING Primary Language (e.g. 'English', 'German') (PRODUCE_LANGUAGE) -i, --skip_itc Skip the creation of the app on iTunes Connect (PRODUCE_SKIP_ITC) -d, --skip_devcenter Skip the creation of the app on the Apple Developer Portal (PRODUCE_SKIP_DEVCENTER) -t, --team_id STRING The ID of your team if you're in multiple teams (PRODUCE_TEAM_ID) -l, --team_name STRING The name of your team if you're in multiple teams (PRODUCE_TEAM_NAME) -h, --help Display help documentation -v, --version Display version information ``` ## Environment Variables In case you want to pass more information to `produce` using environment variables: - `PRODUCE_USERNAME` (your iTunes Connect username) - `PRODUCE_APP_IDENTIFIER` (the bundle identifier of the new app) - `PRODUCE_APP_NAME` (the name of the new app) - `PRODUCE_LANGUAGE` (the language you want your app to use, e.g. `English`, `German`) - `PRODUCE_VERSION` (the initial app version) - `PRODUCE_SKU` (the SKU you want to use, which must be a unique number) - `PRODUCE_SKIP_ITC` (should iTunes Connect app be created) - `PRODUCE_SKIP_DEVCENTER` (should Apple Developer Portal app be created) - `PRODUCE_TEAM_ID` (the Team ID, e.g. `Q2CBPK58CA`) - `PRODUCE_TEAM_NAME` (the Team Name, e.g. `Felix Krause`) ## [`fastlane`](https://github.com/KrauseFx/fastlane) Integration Your `Fastfile` should look like this ```ruby lane :appstore do produce( username: 'felix@krausefx.com', app_identifier: 'com.krausefx.app', app_name: 'MyApp', language: 'English', version: '1.0', sku: 123, team_name: 'SunApps GmbH' # only necessary when in multiple teams ) deliver end ``` To use the newly generated app in `deliver`, you need to add this line to your `Deliverfile`: ```ruby apple_id ENV['PRODUCE_APPLE_ID'] ``` This will tell `deliver`, which `App ID` to use, since the app is not yet available in the App Store. You'll still have to fill out the remaining information (like screenshots, app description and pricing). You can use [deliver](https://github.com/KrauseFx/deliver) to upload your app metadata using a CLI ## How is my password stored? `produce` uses the [password manager](https://github.com/fastlane/CredentialsManager) from `fastlane`. Take a look the [CredentialsManager README](https://github.com/fastlane/CredentialsManager) for more information. # Tips ## [`fastlane`](https://fastlane.tools) Toolchain - [`fastlane`](https://fastlane.tools): Connect all deployment tools into one streamlined workflow - [`deliver`](https://github.com/KrauseFx/deliver): Upload screenshots, metadata and your app to the App Store using a single command - [`snapshot`](https://github.com/KrauseFx/snapshot): Automate taking localized screenshots of your iOS app on every device - [`frameit`](https://github.com/KrauseFx/frameit): Quickly put your screenshots into the right device frames - [`PEM`](https://github.com/KrauseFx/pem): Automatically generate and renew your push notification profiles - [`sigh`](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning - [`cert`](https://github.com/KrauseFx/cert): Automatically create and maintain iOS code signing certificates - [`codes`](https://github.com/KrauseFx/codes): Create promo codes for iOS Apps using the command line ##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx) # Need help? - If there is a technical problem with `produce`, submit an issue. - I'm available for contract work - drop me an email: produce@krausefx.com # License This project is licensed under the terms of the MIT license. See the LICENSE file. # Contributing 1. Create an issue to start a discussion about your idea 2. Fork it (https://github.com/KrauseFx/produce/fork) 3. Create your feature branch (`git checkout -b my-new-feature`) 4. Commit your changes (`git commit -am 'Add some feature'`) 5. Push to the branch (`git push origin my-new-feature`) 6. Create a new Pull Request