使用終端 Xcodebuild 打包.ipa上傳到fir.im

1、文件準備api

一、建立打包腳本(具體如何製做腳本,百度一下😄,具體源碼和如何修改腳本參數,後面貼有)xcode

二、建立打包時所用.plist文件 (能夠在Xcode中將info.plist拷貝出來修改,具體源碼後面貼有)bash

三、須要安裝fir-cli主要是要經過fir命令將應用上傳到fir.im網站app

四、將打包腳本和打包用到的.plist文件 放在和項目的運行文件在同一個目錄下網站

以下圖:ui

2、使用終端進入項目目錄下,也就是上圖目錄,將打包腳本文件拖到終端,並按回車鍵,這是就開始打包了😄,打包成功後,會生產一個XcodeBuild文件夾,這個文件夾是在打包腳本中定義的,XcodeBuild文件夾內容以下:spa

 

 

注意⚠️:修改如下幾個參數就能夠就可使用.net

一、工程名字:XcodeBuildFile_Namecode

二、選擇scheme:  Scheme_Nameorm

三、修改證書和配置文件(若是使用指定證書打包,須要取消Xcode中自動管理簽名(Automatically manage signing)若是使用不指定證書和配置文件打包,將證書和配置文件的相關腳本去掉,同時要勾選在Xcode中自動管理簽名選項 )

四、修改fir.im網站APIToken: Fir_Api_Token

五、創建一個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描述文件(如何獲取配置文件的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----------

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
      <key>uploadSymbols</key>
      <false/>
      <key>uploadBitcode</key>
      <false/>
      <key>method</key>
      <string>ad-hoc</string>
      <key>compileBitcode</key>
      <false/>
    </dict>
</plist>

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

相關文章
相關標籤/搜索