脚本就是将一串命令写到文件中 然后我们执行脚本的时候 就是让终端按照顺序执行脚本中的内容 ( sh 脚本路径 即可执行了)
脚本配置
以下脚本是基于Xcode8的xcodebuild (只要安装了xcode就有)工具
准备工作:在项目工程目录下新建一个archive文件夹
变量
target_name="一般是工程名"#要修改
fir_apiToken="fir上ApiToken"
scheme_name="$target_name"
workspace_name="${target_name}.xcworkspace"
configurationType="Release"
targetProject_destination="generic/platform=iOS"
证书、描述文件
codesignIdentity_name="iPhone Distribution: 公司英文名称 information Technology Co., Ltd. (XXXXXXXX)"
profile_UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
目录
log_path="archive/log.txt"
archive_path="archive/${target_name}.xcarchive"
ipa_path="archive/${target_name}.ipa"
plist_path="archive/exprotOptionsPlist.plist"
1、删除旧文件
rm -rf"$log_path"
rm -rf"$archive_path"
rm -rf"$ipa_path"
2、清除旧项目
xcodebuild clean -configuration"$configurationType"-alltargets >>"$log_path"
3、归档即archive
-destination "$targetProject_destination"
CODE_SIGN_IDENTITY="$codesignIdentity_name"
PROVISIONING_PROFILE="$profile_UUID"
如果需要的指定证书和Provisioning文件,可以把上面的两个参数添加到下面的命令后面,否则它会根据你的Xcode配置去匹配(默认用的是.xcworkspace或.xcodeproj文件里的配置)
xcodebuild archive -workspace"$workspace_name"-scheme"$scheme_name"-configuration"configurationType"-archivePath"$archive_path">>"$log_path"
指定证书和Provisioning文件会出问题暂时不知道怎么解决
4、打包成ipa
plist文件配置说明
- 提交App Store的plist文件参数设置,如:AppStoreExportOptions.plist:method=app-store,uploadBitcode=YES,uploadSymbols=YES
- 内测的plist文件参数设置,如:TestExportOptions.plist:method=ad-hoc,compileBitcode=NO
- method的可选值为:app-store, package, ad-hoc, enterprise, development, developer-id
xcodebuild -exportArchive -archivePath"$archive_path"-exportOptionsPlist"$plist_path"-exportPath archive/ >>"$log_path"
5、登录Fir
需提前安装fir-cli命令 安装文档
fir login"$fir_apiToken"
6、发布
fir publish"$ipa_path"
网友评论