iOS 用python自動打包 二

一中簡單說了使用xcodebuild命令archive和導(dǎo)出ipa

本篇主要就是寫簡單 ?python腳本來執(zhí)行 xcodebuild命令 ?內(nèi)容很簡單 ? ?后期加直接上傳firm?

#!/usr/bin/env python3

# -*- coding: utf-8 -*-

import os

import sys

import time


#Release Debug

configuration = 'Debug'

#是否是發(fā)布環(huán)境

isDistribution = False

# 項目根目錄

project_path = "/Users/renqianbei/work/saasMz"

#當(dāng)前autoIpa.py 以及 plist 所在文件夾位置

autoPythonRoot = '/Users/renqianbei/work/saasMz/autoIPA'

#自動打包根目錄

autoBuildDirRoot = '/Users/renqianbei/Desktop/saasM_Autobuild'

# 編譯成功后.xcarchive所在目錄

archive_dir = autoBuildDirRoot+'/archive'

# 編譯后目錄

build_path = autoBuildDirRoot+'/build'

# 打包后ipa存儲目錄

targerIPA_dir = autoBuildDirRoot+'/ipaDir'

project_Name = 'Saas_M'

scheme = 'Saas_M'


#CA certificate

#發(fā)布證書

DistributionCodeSignIndentify = "iPhone Distribution: renqianbei(1231)"

DistributionProfile = "1231231-131-231"

DistributionExportFileName = "Distribution_ExportOptions.plist"

#測試證書

DeveloperCodeSignIndentify = "iPhone Developer:renqianbei (W7318)"

DeveloperProfile = "fwefwwfwfew-12321-123123-123"

DeveloperExportFileName = "Develop_ExportOptions.plist"

#時間字符串

time_Tag = '%s'%(time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time())))


# 清理項目 創(chuàng)建build目錄

def clean_project_mkdir_build():

? ? os.system('rm -rf %s;mkdir %s'%(build_path,build_path))


#archive? 打包

def archive_project():

? ? print("====archive_project start")

? ? print(archiveName())

? ? os.system('cd %s; xcodebuild archive? -workspace? %s.xcworkspace? -scheme %s -configuration %s -archivePath %s CONFIGURATION_BUILD_DIR=%s CODE_SIGN_IDENTITY="%s" PROVISIONING_PROFILE="%s"'

? ? ? ? ? ? ? %(project_path,project_Name,scheme,configuration,archivePath(),build_path,CodeSignIdentify(),ProvisioningProfile())

? ? ? ? ? ? ? )


# 打包ipa 并且保存在桌面

def export_ipa():

? ? print("export_ipa start")

? ? print(ipafilename())

? ? print(export_OptionsPlist())

? ? os.system('xcodebuild -exportArchive -archivePath %s/ -exportOptionsPlist %s -exportPath %s'%(archivePath(),export_OptionsPlist(),exportpath()))



def main():

? ? # 清理并創(chuàng)建build目錄

? ? clean_project_mkdir_build()

? ? # 編譯coocaPods項目文件并 執(zhí)行編譯目錄

? ? archive_project()

? ? # 導(dǎo)出ipa

? ? export_ipa()

main()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容