Xcode9脚本化自动打包以及发布到Fir

脚本就是将一串命令写到文件中 然后我们执行脚本的时候 就是让终端按照顺序执行脚本中的内容 ( 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"

你可能感兴趣的:(Xcode9脚本化自动打包以及发布到Fir)