使用终端 Xcodebuild 打包.ipa上传到fir.im

2017-06-16  本文已影响0人  JekingZhu

一、文件准备

1、创建打包脚本(具体如何制作脚本,百度一下😄,具体源码和如何修改脚本参数,后面贴有)

2、创建打包时所用.plist文件 (可以在Xcode中将info.plist拷贝出来修改,具体源码后面贴有)

3、需要安装fir-cli,主要是要通过fir命令将应用上传到fir.im网站

4、将打包脚本和打包用到的.plist文件 放在和项目的运行文件在同一个目录下

如下图:

二、使用终端进入项目目录下,也就是上图目录,将打包脚本文件拖到终端,并按回车键,这是就开始打包了😄,打包成功后,会生产一个XcodeBuild文件夹,这个文件夹是在打包脚本中定义的,XcodeBuild文件夹内容如下:

注意⚠️:修改以下几个参数就可以就可以使用

1、工程名字:XcodeBuildFile_Name

2、选择scheme:  Scheme_Name

3、修改证书和配置文件(如果使用指定证书打包,需要取消Xcode中自动管理签名(Automatically manage signing)如果使用不指定证书和配置文件打包,将证书和配置文件的相关脚本去掉,同时要勾选在Xcode中自动管理签名选项 )

4、修改fir.im网站APIToken: Fir_Api_Token

5、建立一个ADHOCExportOptionsPlist.plist文件,源码贴在最下面,可以直接复制粘贴使用

#---------------------------自动打包脚本------Start--------------

#! /bin/bash

#注意⚠️:脚本目录,ADHOCExportOptionsPlist 和xxxx.xcodeproj或.xcworkspace要在同一个目录,如果放到其他目录,请自行修改脚本。

#存放打包后的文件的文件夹的名字

XcodeBuildFile_Name="XcodeBuild"

#工程名字

Project_Name="XXXX"

#这里选择打包的scheme,如果你不知道你项目有多少个scheme 可以用终端进入项目中有包含运行项目的文件目录下输入:xcodebuild -list 查看

Scheme_Name="XXXXX";

#配置环境,Release或者Debug

Configuration="Release"

#打包成.xcarchive文件的存放路径

AdHocArchivePath=./$XcodeBuildFile_Name/$Project_Name-adhoc.xcarchive

#打包成.ipa文件后的路径 打包好xxx.ipa文件名默认是$Scheme_Name.ipa

AdHocExportPath=./$XcodeBuildFile_Name/

# ADHOC

#证书名

ADHOCCODE_SIGN_IDENTITY="iPhone Distribution: XXXXXX"

#配置文件的UUID描述文件

ADHOCPROVISIONING_PROFILE_NAME="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX"

#加载plist文件,该文件会需要指明打包发布的类型:苹果商店:app-store, 内测:ad-hoc, 企业账号:enterprise,

ADHOCExportOptionsPlist=./ADHOCExportOptionsPlist.plist

#clean下

xcodebuild clean

#如果文件夹不存在,创建文件夹

if [ ! -d ./$XcodeBuildFile_Name ]; then

mkdir $XcodeBuildFile_Name

fi

#打包成xcarchive文件命令

#workspace:表示运行工程,因为项目采用了cocoapod,运行文件为.xcworkspace,所以要使用workspace

#如果项目的运行文件是.xcodeproj,那么需要将下面的workspace替换成project,并且需要将.xcworkspace替换成.xcodeproj

#scheme 选择要打包的Target

#注意⚠️:如果你采用指定开发证书和配置文件来打包,需要在Xcode中将对应的scheme的自动管理签名(Automatically manage signing)这个选项取消掉就可以,取消后可以不用在Xcode指定打包证书

xcodebuild archive -workspace $Project_Name.xcworkspace -scheme $Scheme_Name -configuration $Configuration -archivePath $AdHocArchivePath  CODE_SIGN_IDENTITY="${ADHOCCODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${ADHOCPROVISIONING_PROFILE_NAME}"

#打包成.ipa文件命令

xcodebuild -exportArchive -archivePath $AdHocArchivePath -exportOptionsPlist $ADHOCExportOptionsPlist -exportPath $AdHocExportPath

#--------------------将打包好的.ipa上传到fir.im网站上------

#注意⚠️:使用终端上传应用到fir.im网站上,需要安装fir-cli

#存储终端上传应用到fir.im网站上打印的信息文本

FirUploadInformationTxt="FirUploadInformation.txt"

#信息文本

FirUploadInformationPat=./$XcodeBuildFile_Name/$FirUploadInformationTxt

#删除旧信息文本

rm $FirUploadInformationPat

#创建信息文本

touch $FirUploadInformationPat

#api token 需要用户登录fir.im网站获取

Fir_Api_Token="XXXXXXXXXXXXXXXXXXX"

#打包好的./ipa文件存放路径

IPA_Path=./$XcodeBuildFile_Name/$Scheme_Name.ipa

#上传到应用到fir.im网站 "ls>$FirUploadInformationPat" 这个命令,是将终端上传应用到fir.im网站上打印的信息输出到FirUploadInformationTxt文件上

fir p $IPA_Path -T $Fir_Api_Token ls>$FirUploadInformationPat

#---------------------------自动打包脚本------End--------------

#----------------ADHOCExportOptionsPlist.plist文件内容-----Start---------

#----------------ADHOCExportOptionsPlist.plist文件内容-----End-------------

上一篇下一篇

猜你喜欢

热点阅读