自动打包
安装常用工具
1、安装 gym
sudo gem install gym --verbose
2、安装 fastlane
· https://github.com/fastlane/fastlane
sudo gem install fastlane --verbose
3、安装 xctool
· https://github.com/facebook/xctool
· xctool是官方xcodebuild的一个增强实现,输出的内容比xcodebuild直观可读得多
brew install xctool
4、安装fir-cli
· fir的命令行工具
sudo gem install fir-cli --verbose
Gym 打包脚本文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| #!/bin/bash
#计时 SECONDS=0
#假设脚本放置在与项目相同的路径下 project_path=$(pwd) #取当前时间字符串添加到文件结尾 now=$(date +"%Y_%m_%d_%H_%M_%S")
#指定项目的scheme名称 scheme="DemoScheme" #指定要打包的配置名 configuration="Adhoc" #指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数 export_method='ad-hoc'
#指定项目地址 workspace_path="$project_path/Demo.xcworkspace" #指定输出路径 output_path="/Users/your_username/Documents/" #指定输出归档文件地址 archive_path="$output_path/Demo_${now}.xcarchive" #指定输出ipa地址 ipa_path="$output_path/Demo_${now}.ipa" #指定输出ipa名称 ipa_name="Demo_${now}.ipa" #获取执行命令时的commit message commit_msg="$1"
#输出设定的变量值 echo "===workspace path: ${workspace_path}===" echo "===archive path: ${archive_path}===" echo "===ipa path: ${ipa_path}===" echo "===export method: ${export_method}===" echo "===commit msg: $1==="
#先清空前一次build gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}
#上传到fir fir publish ${ipa_path} -T fir_token -c "${commit_msg}"
#输出总用时 echo "===Finished. Total time: ${SECONDS}s==="
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| #!/bin/bash
#计时 SECONDS=0
#假设脚本放置在与项目相同的路径下 project_path=$(pwd) #取当前时间字符串添加到文件结尾 now=$(date +"%Y_%m_%d_%H_%M_%S")
#指定项目的scheme名称 scheme="DemoScheme" #指定要打包的配置名 configuration="Adhoc" #指定打包所使用的provisioning profile名称 provisioning_profile='AdHoc Profile'
#指定项目地址 workspace_path="$project_path/Demo.xcworkspace" #指定输出路径 output_path="/Users/your_username/Documents/" #指定输出归档文件地址 archive_path="$output_path/Demo_${now}.xcarchive" #指定输出ipa地址 ipa_path="$output_path/Demo_${now}.ipa" #获取执行命令时的commit message commit_msg="$1"
#输出设定的变量值 echo "===workspace path: ${workspace_path}===" echo "===archive path: ${archive_path}===" echo "===ipa path: ${ipa_path}===" echo "===profile: ${provisioning_profile}===" echo "===commit msg: $1==="
#先清空前一次build xctool clean -workspace ${workspace_path} -scheme ${scheme} -configuration ${configuration}
#根据指定的项目、scheme、configuration与输出路径打包出archive文件 xctool build -workspace ${workspace_path} -scheme ${scheme} -configuration ${configuration} archive -archivePath ${archive_path}
#使用指定的provisioning profile导出ipa #我暂时没找到xctool指定provisioning profile的方法,所以这里用了xcodebuild xcodebuild -exportArchive -archivePath ${archive_path} -exportPath ${ipa_path} -exportFormat ipa -exportProvisioningProfile "${provisioning_profile}"
#上传到fir fir publish ${ipa_path} -T fir_token -c "${commit_msg}"
#输出总用时 echo "===Finished. Total time: ${SECONDS}s==="
|
概念补充
*.workspace
文件
使用CocoaPods管理的工程在执行完 pod install
之后生成的workspace文件
scheme
显示在Xcode的左上角,run图标的右边,设备选择的左边
configuration
在Xcode中选项目,Info tab下会列出所有的configuration,一般有Debug和Release两种
provisioning profile
在Xcode中选target,在 Build Settings tab
下搜索 Provisioning Profile
,默认应该是 Automatic
,点击看到下拉列表中的就是所有可用的名称
升级 Ruby 版本
1、安装 Rvm (第三方工具)
1 2
| $ curl -L get.rvm.io | bash -s stable $ source ~/.rvm/scripts/rvm
|
等待终端加载完毕,后输入:
rvm -v
如果显示版本号,则安装成功~
2、安装 Ruby
· 列出所有 Ruby 可安装版本的信息
rvm list known
· 安装一个 Ruby 版本
rvm install 2.1.4
如果想设置为默认版本,可以用这条命令来完成
rvm use 2.1.4 --default
· 查看已安装的 Ruby
rvm list
· 卸载一个已安装 Ruby 版本
rvm remove 2.1.4
3、更换源
· 查看已有源
gem source
· 由于国内被墙,所以我们需要更换源至 淘宝服务器 或 Ruby China
淘宝 https://ruby.taobao.org
Ruby China https://gems.ruby-china.org/
1 2 3 4
| $ gem update --system $ gem uninstall rubygems-update $ gem sources -r http://rubygems.org/ $ gem sources -a http://ruby.taobao.org
|
gem 常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| ruby -v #查看ruby 版本
ruby -e ''require"watir"; puts Watir::IE::VERSION'' #查看watir版本 gem -v #gem版本 gem update #更新所有包 gem update --system #更新RubyGems软件 gem install rake #安装rake,从本地或远程服务器 gem install rake --remote #安装rake,从远程服务器 gem install watir -v(或者--version) 1.6.2#指定安装版本的 gem uninstall rake #卸载rake包 gem list d #列出本地以d打头的包 gem query -n ''[0-9]'' --local #查找本地含有数字的包 gem search log --both #从本地和远程服务器上查找含有log字符串的包 gem search log --remoter #只从远程服务器上查找含有log字符串的包 gem search -r log #只从远程服务器上查找含有log字符串的包 gem help #提醒式的帮助 gem help install #列出install命令 帮助 gem help examples #列出gem命令使用一些例子 gem build rake.gemspec #把rake.gemspec编译成rake.gem gem check -v pkg/rake-0.4.0.gem #检测rake是否有效 gem cleanup #清除所有包旧版本,保留最新版本 gem contents rake #显示rake包中所包含的文件 gem dependency rails -v 0.10.1 #列出与rails相互依赖的包 gem environment #查看gem的环境
|
文章引用
http://www.jianshu.com/p/54ab07f2e63b
http://www.07net01.com/2015/09/933234.html
https://my.oschina.net/u/923974/blog/99060