说明:翻译的
Produce
的指南, 原文地址 。
produce
使用你的命令行工具在 iTunes Connect 和 Dev Portal 上创建新的iOS应用。
produce
会使用最少的信息在 Apple Developer Portal 和 iTunes Connect 上创建新的iOS应用。
功能
- 在 iTunes Connect 和 Dev Portal 上创建新的应用
- 修改 Apple Developer Portal 上的应用服务
- 在 Apple Developer Portal 上创建 App Groups
- 关联 Apple Developer Portal 上的应用和 App Groups
- 支持多个苹果帐号,你的证书安全的存储在 Keychain 中
安装
sudo gem install produce
使用
创建新的应用程序
produce
列出可用的参数列表:
produce --help
Commands:
associate_group Associate with a group, which is create if needed or simply located otherwise
create Creates a new app on iTunes Connect and the Apple Developer Portal
disable_services Disable specific Application Services for a specific app on the Apple Developer Portal
enable_services Enable specific Application Services for a specific app on the Apple Developer Portal
group Ensure that a specific App Group exists
help Display global or [command] help documentation
Global Options:
-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)
-e, --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)
-y, --sku STRING 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 company. 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)
-b, --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
启用/禁用应用程序服务
如果你想要为一个 App ID 启用应用程序服务(Application Services),这个例子中是 HomeKit 和 HealthKit:
produce enable_services --homekit --healthkit
如果你想为一个 App ID 禁用应用程序服务,这个例子中是 iCloud:
produce disable_service --icloud
如果你想创建新的 App Group:
produce group -g group.krausefx -n "Example App Group"
如果你想关联应用和 App Group:
produce associate_group -a com.krausefx.app group.krausefx
参数
获取可使用的选项列表:
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
环境变量
所有可用的值也可以使用环境变量传递,运行 produce --help
来获取所有可用参数的列表。
[fastlane](https://github.com/fastlane/fastlane/tree/master/fastlane)
整合
你的 fastlane
看起来应该是这样的:
lane :appstore do
produce(
username: 'felix@krausefx.com',
app_identifier: 'com.krausefx.app',
app_name: 'MyApp',
language: 'English',
app_version: '1.0',
sku: '123',
team_name: 'SunApps GmbH' # only necessary when in multiple teams
)
deliver
end
为了在 deliver
中使用你新生成的应用,你需要将下面的代码添加到 Deliverfile
文件中:
apple_id ENV['PRODUCE_APPLE_ID']
当应用程序还在 App Store 中不可用的时候,这会告诉 deliver
使用哪一个 App ID 。
你仍然必需填写剩余的信息(比如截图,应用描述及价格)。你可以使用 deliver 和 CLI 上传应用的元数据。
如何存储我的密码?
produce
使用来自 fastlane
的 password manager。查看 CredentialsManager README 获取更多信息。
提示
fastlane
工具链
-
fastlane
:自动化构建和发布你 iOS 和 Android 应用程序的最简单方法 -
deliver
:将你的应用、截图、元数据上传到App Store -
snapshot
:将你iOS应用在每一种设备上进行本地化自动截图 -
frameit
:快速将你的截图放入到适合的设备框中 -
pem
:自动生成和更新你的推送通知证书 -
sigh
:管理你的 provisioning profiles -
cert
:自动创建和维护iOS的 code signing certificates -
spaceship
:一个 Ruby library,自动连接 Apple Dev Center 和 iTunes Connect -
pilot
:管理你TestFlight测试人员的最好方式,使用终端构建 -
boarding
:邀请你 TestFlight 的beta测试人员的最简单方式 -
gym
:构建你iOS应用程序 -
scan
:为你iOS和Mac应用运行测试的最简单方法 -
match
:使用Git在你的团队中同步你的 certificates 和 profiles -
supply
:将你的Android应用和数据上传到 Google Play -
screengrab
:Android版snapshot
,一样的功能
帮助
请提交 issue 到 GitHub,并提供你关于设置的信息。