README.md in produce-0.5.1 vs README.md in produce-0.6.0
- old
+ new
@@ -4,16 +4,16 @@
<br />
fastlane
</a>
</h3>
<p align="center">
- <a href="https://github.com/KrauseFx/deliver">deliver</a> •
- <a href="https://github.com/KrauseFx/snapshot">snapshot</a> •
- <a href="https://github.com/KrauseFx/frameit">frameit</a> •
- <a href="https://github.com/KrauseFx/PEM">PEM</a> •
- <a href="https://github.com/KrauseFx/sigh">sigh</a> •
- <b>produce</b> •
+ <a href="https://github.com/KrauseFx/deliver">deliver</a> •
+ <a href="https://github.com/KrauseFx/snapshot">snapshot</a> •
+ <a href="https://github.com/KrauseFx/frameit">frameit</a> •
+ <a href="https://github.com/KrauseFx/PEM">PEM</a> •
+ <a href="https://github.com/KrauseFx/sigh">sigh</a> •
+ <b>produce</b> •
<a href="https://github.com/KrauseFx/cert">cert</a> •
<a href="https://github.com/KrauseFx/codes">codes</a> •
<a href="https://github.com/fastlane/spaceship">spaceship</a> •
<a href="https://github.com/fastlane/pilot">pilot</a> •
<a href="https://github.com/fastlane/boarding">boarding</a>
@@ -39,15 +39,15 @@
-------
<p align="center">
- <a href="#features">Features</a> •
- <a href="#installation">Installation</a> •
- <a href="#usage">Usage</a> •
- <a href="#how-does-it-work">How does it work?</a> •
- <a href="#tips">Tips</a> •
+ <a href="#features">Features</a> •
+ <a href="#installation">Installation</a> •
+ <a href="#usage">Usage</a> •
+ <a href="#how-does-it-work">How does it work?</a> •
+ <a href="#tips">Tips</a> •
<a href="#need-help">Need help?</a>
</p>
-------
@@ -55,30 +55,70 @@
# Features
- **Create** new apps on both iTunes Connect and the Apple Developer Portal
+- **Modify** Application Services on the Apple Developer Portal
+- **Create** App Groups on the Apple Developer Portal
+- **Associate** apps with App Groups on 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
+## Creating a new application
+
produce
-
-# Parameters
-Get the latest list of all available parameters;
+To get a 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)
+ -q, --app_name STRING App Name (PRODUCE_APP_NAME)
+ -z, --app_version STRING Initial version number (e.g. '1.0') (PRODUCE_VERSION)
+ -s, --sku SKU Number (e.g. '1234') (PRODUCE_SKU)
+ -m, --language STRING Primary Language (e.g. 'English', 'German') (PRODUCE_LANGUAGE)
+ -c, --company_name STRING The name of your comapny. Only required if it's the first app you create
+(PRODUCE_COMPANY_NAME)
+ -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)
+```
+
+## Enabling / Disabling Application Services
+
+If you want to enable Application Services for an App ID (HomeKit and HealthKit in this example):
+
+ produce enable_services --homekit --healthkit
+
+If you want to disable Application Servies for an App ID (iCloud in this case):
+
+ produce disable_services --icloud
+
+If you want to create a new App Group:
+
+ produce group -g group.krausefx -n "Example App Group"
+
+If you want to associate an app with an App Group:
+
+ produce associate_group -a com.krausefx.app group.krausefx
+
+# Parameters
+
+```
+ -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)
@@ -88,23 +128,59 @@
-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
```
+Get a list of all available options using
+
+ produce enable_services --help
+
+```
+ --app-group Enable App Groups
+ --associated-domains Enable Associated Domains
+ --data-protection STRING Enable Data Protection, suitable values are "complete", "unlessopen" and "untilfirstauth"
+ --healthkit Enable HealthKit
+ --homekit Enable HomeKit
+ --wireless-conf Enable Wireless Accessory Configuration
+ --icloud STRING Enable iCloud, suitable values are "legacy" and "cloudkit"
+ --inter-app-audio Enable Inter-App-Audio
+ --passbook Enable Passbook
+ --push-notification Enable Push notification (only enables the service, does not configure certificates)
+ --vpn-conf Enable VPN Configuration
+```
+
+ produce disable_services --help
+
+```
+ --app-group Disable App Groups
+ --associated-domains Disable Associated Domains
+ --data-protection Disable Data Protection
+ --healthkit Disable HealthKit
+ --homekit Disable HomeKit
+ --wireless-conf Disable Wireless Accessory Configuration
+ --icloud Disable iCloud
+ --inter-app-audio Disable Inter-App-Audio
+ --passbook Disable Passbook
+ --push-notification Disable Push notifications
+ --vpn-conf Disable VPN Configuration
+```
+
## 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_GROUP_IDENTIFIER` (the group identifier of the new app group)
+- `PRODUCE_GROUP_NAME` (the name of the new app group)
- `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`)
+- `PRODUCE_TEAM_NAME` (the Team Name, e.g. `Felix Krause`)
## [`fastlane`](https://github.com/KrauseFx/fastlane) Integration
Your `Fastfile` should look like this
@@ -148,10 +224,10 @@
- [`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
- [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
- [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
-- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
+- [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
##### [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.