介绍
gym帮助你构建和打包iOS应用,帮你干繁琐的工作,并且超级容易上手。
gym
是shenzhen的替代品。
为什么使用它:
| Gym Features |
---|
1 | 比shenzhen快30% |
2 | 构建应用时输出漂亮工整 |
3 | 帮助你解决常见的构建错误,如 code signing 问题 |
4 | 合理的缺省配置:自动检测schemes等 |
5 | 和fastlane的其他工具完美配合 |
6 | 自动生成一个ipa和一个压缩的dSYM文件 |
7 | 简单,就一个gym 命令 |
8 | 简单、动态地使用参数和环境变量进行配置 |
9 | 在Gymfile 里存储常用的打包配置 |
10 | 所有的archives被存储了,可以用xcode访问 |
11 | 支持构建iOS和mac应用 |
用法
fastlane gym
#fastlane gym --export_method ad-hoc
#fastlane gym --export_method enterprise
#fastlane gym --export_method app-store
只需要上面一句话就可以了。 如果想要更多的配置,可以用下边的参数:
fastlane gym --workspace "Example.xcworkspace" --scheme "AppName" --clean
选择Xcode:
DEVELOPER_DIR="/Applications/Xcode6.2.app" gym
列出可用参数列表:
运行遇到错误,使用verbose
模式获取更多信息:
如果您没有上传到App Store或TestFlight,请设置正确的导出方法:
fastlane gym --export_method ad-hoc
要使用bool参数,确保这么使用gym
:
fastlane gym --include_bitcode true --include_symbols false
获取xcodebuild输出,请到~/Library/Logs/gym
查看。
Gymfile
因为如果每次构建可能都需要传参数,比较麻烦,我们可以将默认参数存到Gymfile
中。
运行fastlane gym init
创建一个新的配置文件,例如:
scheme "Example"
sdk "iphoneos9.0"
clean true
output_directory "./build"
output_name "MyApp"
导出选项
从Xcode7以来,gym
使用新的Xcode API,它允许我们使用plist文件指定导出选项。
默认情况下,gym为您创建此文件,您可以使用export_method,export_team_id,include_symbols或include_bitcode修改一些参数。 如果您想要更多选项,例如创建manifest file
或app thinning
,可以提供自己的plist文件:
export_options "./ExportOptions.plist"
或者您可以直接在Gymfile中提供值的哈希值:
export_options(
method: "ad-hoc",
manifest: {
appURL: "https://example.com/My App.ipa",
},
thinning: "<thin-for-all-variants>"
)
For the list of available options run xcodebuild -help
.
自动化整个流程
可以与fastlane很好的配合使用:
lane :beta do
scan
gym(scheme: "MyApp")
crashlytics
end
参考
https://github.com/fastlane/fastlane/tree/master/gym