python搭建環境,python ios自動化_iOS python 自動化構建打包腳本

 2023-11-30 阅读 25 评论 0

摘要:1.準備工作和注意事項2.配置填寫python搭建環境?項目、python腳本文件及plist目錄:plist文件:3.生成相關目錄ios python、4.xcodebuild命令打包5.上傳svn建議:Python 自動化?1.上傳app store還是手動,用熟悉的方式最可靠.2.要修改python代碼 或者 自行開發 還

1.準備工作和注意事項

2.配置填寫

python搭建環境?項目、python腳本文件及plist目錄:

plist文件:

3.生成相關目錄

ios python、4.xcodebuild命令打包

5.上傳svn

建議:

Python 自動化?1.上傳app store還是手動,用熟悉的方式最可靠.

2.要修改python代碼 或者 自行開發 還是學一下基礎先.

3.附上源碼

python excel 自動化。以下是源碼:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

python鍵值對。import os

import copy

import time

import sys

import urllib

import shutil

#使用說明

#本腳本基于Python語言,學習優化的自動化構建打包腳本,目前僅發布SVN上傳,如有其它需要,可自行開發...

#條件準備

#1. 裝有python

#2. 運行python文件

#注意事項

#1.xcworkspace方式打包

#2.需要配置ipa的svn路徑

#3.本文默認打包,上傳SVN文件方式,schemeName+打包時間+.ipa為文件名上傳

#4.schemeNames和configurationName可以在項目根目錄下(xcworkspace所在位置),使用xcodebuild -list查看

#5.python所在plist文件夾中的plist文件一定要有!!!

#開始時間

start = time.time()

#******************需要手動填寫***********************

#版本

jobVersion="1.1.1"

#工作空間

workspaceName="項目名" + ".xcworkspace"

#構建工程

schemeNames={"項目名-Test"} #debug版本[Debug|Release],使用xcodebuild -list查看configuration支持的類型

#編譯版本信息

configurationName="Debug-Test" #debug版本[Debug|Release],使用xcodebuild -list查看configuration支持的類型

#需要打那個版本的ipa包(development/adhoc/enterprise/app-store) plist里 填寫的就是版本證書

plistPath="/plist/development.plist"

#SVN地址

SVN_ADDRESS = '需要上傳到svn地址目錄'

#***************************************************

#python文件所在文件目錄

filePath=sys.path[0]

#配置plist的目錄

plistPath=filePath+plistPath

# 轉換目錄結構--轉到代碼庫所在文件

codePath=os.path.abspath(os.path.join(os.path.dirname(__file__),".."))

os.chdir(codePath+'/項目名/');

#*****************拉取代碼**********************************

os.system('git pull')

print('更新代碼完成...')

#*****************打包**********************************

#獲取當前時間并格式化

dateTime=time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime());

svnPackName=time.strftime("%m%d", time.localtime());

#獲取當前目錄路徑

workspaceDirPath=os.getcwd()

#獲取當前桌面路徑

desktopPath=os.path.join(os.path.expanduser("~"), 'Desktop')

desktopPath2=os.path.expanduser("~/Desktop")

#最后生成基礎目錄

basePath=desktopPath+"/App"+dateTime

#archivePath目錄

archivePath=basePath+"/archive"

if os.path.exists(archivePath)==False:

os.makedirs(archivePath)

#exportPath目錄

exportPath=basePath+"/ipa"

if os.path.exists(exportPath)==False:

os.makedirs(exportPath)

for schemeName in schemeNames:

#BaseCommand

baseCommand=" -workspace "+workspaceName+" -scheme "+schemeName+" -configuration "+configurationName

#清除編譯的app

xcodebuild_clean="xcodebuild clean"+baseCommand

#查看項目全部的targets,schemes和configurations

xcodebuild_list="xcodebuild -list"

#編譯

xcodebuild_build="xcodebuild build"+baseCommand

#archivePath命令

archivePathOption=" -archivePath "+archivePath+"/"+schemeName

#exportPath命令

exportPathOption=" -exportPath "+exportPath+"/"

#指定exportOptionsPlist文件路徑

exportOptionsPlistOption=" -exportOptionsPlist "+plistPath

#編譯并生成.archive包

xcodebuild_archive="xcodebuild archive"+archivePathOption+baseCommand

#.archive包導出ipa包

xcodebuild_exportArchive="xcodebuild -exportArchive"+archivePathOption+".xcarchive"+exportPathOption+exportOptionsPlistOption

# 執行命令

os.system(xcodebuild_clean)

os.system('%s' % xcodebuild_archive)

os.system('%s' % xcodebuild_exportArchive)

# # 重命名文件

ipaNamePath=exportPath+'/'+schemeName+'.ipa'

#新ipa

newIpaName=schemeName+'-'+jobVersion+'-'+dateTime+'.ipa'

newIpaNamePath=exportPath+'/'+newIpaName

os.rename(ipaNamePath, newIpaNamePath)

# print ipaName

# print newIpaName

#***************************************************

#*******************上傳svn********************************

# 判斷今天的倉庫是否創建,沒有就創建

repositoryPath=desktopPath2+'/repository/'+jobVersion+'/development'

if os.path.exists(repositoryPath)==False:

os.makedirs(repositoryPath)

daliyPath=repositoryPath+'/'+svnPackName

print(daliyPath)

if os.path.exists(daliyPath)==False:

# 創建新的文件夾

os.makedirs(daliyPath)

shutil.move(newIpaNamePath, daliyPath)

# 轉到倉庫所在目錄

os.chdir(daliyPath + '/')

# 打開倉庫所在目錄

os.system('cd ' + daliyPath + '/')

# 上傳svn

importFolderSvn = 'svn import -m "New import folder" ' + daliyPath + "/" + newIpaName + " " + SVN_ADDRESS + "/" + svnPackName + "/" + newIpaName

print('daliyPath='+daliyPath)

print('newIpaName='+newIpaName)

print('svnPackName='+svnPackName)

print('newIpaName='+newIpaName)

print('importFolderSvn='+importFolderSvn)

os.system('%s' % importFolderSvn)

print '上傳ipa包'

#***************************************************

#輸出總用時

end = time.time()

print "用時: %f s" % (end - start)

#forend

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/186710.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息