一中簡單說了使用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()