ios执行python脚本_iOS使用python编写脚本自动化打包
剛開始聽到自動化打包這個詞的時候,我表示很驚訝,還可以這樣玩兒?
然后心里一直覺得這么高大上的東西應該有點難度吧,在網(wǎng)上搜索了一下,大概掃了幾篇文章,發(fā)現(xiàn)大片大片的文字,腦袋一下就懵逼了,很不情愿去閱讀大量的廢話,但是又沒有找到一篇簡潔易懂,直入正題的文章,后來想想,這東西還是必須要學一學,聽著就這么高大上,裝逼效果杠杠的,然后耐心去查找資料,原本我是一個iOS程序猿,對于一個剛開始接觸python的新手來說,寫一個python程序去做iOS的自動打包是有那么一點懵逼,不過還好,有時候真的深有體會,好記性不如爛筆頭,但是對于我來說,不光是記性,在網(wǎng)上找了一個python程序自己跟著敲了一遍,然后再回過頭去一段一段理解過來,就大概明白是什么意思了,如果光靠眼睛去看,我表示真的很難懂,所以,任何事情還是都需要親自做過了才更容易明白是怎么回事。
同樣廢話了一大堆,就當是和大家交流一下學習心得吧,下面進入正題:
我們要明確我們的目的,是做iOS自動打包,所以,我們先要知道,我們是怎樣一步一步的去打包iOS項目的,然后再通過python程序,將整個流程串聯(lián)起來,實現(xiàn)自動進行打包的這么一個功能。(因為現(xiàn)在進行iOS開發(fā),我們都會用到pods這個工具來管理一些三方庫,所以這里我就只介紹對于使用pods的工程打包的命令,對于沒有使用pods管理工具的項目打包的命令會不一樣,有需要的同學可以自己去查一下資料)
我們知道iOS打包時一般有兩個步驟:
1.archive
2.導出ipa包
我們就可以根據(jù)這兩個步驟來進行,既然是自動化,肯定就不能和手動的那樣一樣的方式,當然是使用終端命令的方式來進行打包,下面直接上命令:
第一步:生成archive命令
xcodebuild -workspace ProjectName.xcworkspace -scheme scheme -archivePath ./build/ProjectName.xcarchive archive
上面這條命令就是archive的命令,我們重點關注里面加粗顯示的三個地方,ProjectName是你的工程名字ProjectName.xcworkspace就代表你使用pods時生成的工作區(qū),后面的scheme代表你項目中設置的scheme名,后面的./build/ProjectName.xcarchive這部分是archive后生成的文件的路徑,這里我是在我的工程的根目錄下面進行的,所以直接在根目錄生成一個build文件夾放archive生成的文件。(不用擔心會產(chǎn)生垃圾文件,一會我們在寫python程序的時候會在導出ipa后將這個文件夾里面的垃圾文件進行刪除的,后面如果有需要想看看這個文件是什么的同學可以把python代碼里面的清除方法注釋一下,到build這個文件夾下查看,build文件夾在工程的根目錄中)
第二步:導出ipa命令
xcodebuild -exportArchive -exportOptionsPlist ./ProjectName/info.plist -archivePath ./build/ProjectName.xcarchive -exportPath ~/Desktop/
我們同樣只需要關注三個地方的參數(shù)就可以了,ProjectName就是我們的項目名字,同樣./build/ProjectName.xcarchive就是我們放archive產(chǎn)生的文件的路徑,然后~/Desktop/就是我們導出ipa包時存放的位置了,這里我是將導出的ipa包放在了桌面,因為打完包以后可以方便我使用。
了解了我們命令打包iOS項目需要用到的兩條主要命令以后,我們接下來就可以編寫python程序了,這里我用到的是pyCharm CE這個工具編寫python程序,看了網(wǎng)上有一些用python寫了自動打包程序的,內(nèi)容太雜,看起來很費勁,里面還有自動將ipa包上傳到第三方托管平臺等的代碼,這里方便大家學習,我就只說怎么將ipa包自動化打包然后導出來,如果有需要上傳第三方平臺的同學的可以去看看其他文章,因為我們現(xiàn)在暫時沒有用到第三方平臺,我們用的自己的服務器,對大家可能不適用,所以就不介紹了,然后后面如果我要用到,會再寫一篇文章的。
我們在編寫python程序的時候會用到subprocess這個第三方庫,直接新建一個python程序,然后import subprocess這個庫,如果已經(jīng)有這個庫就可以直接使用了,如果沒有這個庫,就需要使用python的第三方庫管理工具pip進行安裝了,這里使用pip安裝python的第三方庫的時候有可能會有一些小伙伴會遇到報錯的情況,我在另外一篇文章《使用python第三方管理工具pip安裝三方庫時報錯解決辦法》里面有講到,遇到這個問題的小伙伴可以去看一下。
準備好這個庫以后,我們就來直接開始編寫python程序了。
第一步:
import subprocess
引入這個庫,然后定義一個全局的屬性,用于表示導出ipa包需要存放的位置路徑,方便后面根據(jù)自己的需要修改
EXPORT_MAIN_DIRECTORY ="~/Desktop/"
然后我們進行第一個步驟:archive
python進行archive的方法
代碼里面注釋已經(jīng)寫得很清楚了,簡單易懂,這里就不和大家廢話了,下一個步驟:
將archive的文件導出成ipa包,在上面的代碼里面可以看到打包成功后是調(diào)用的exportIpa()這個方法進行導出的:
python導出ipa包的方法
在導出ipa包之后我們會調(diào)用cleanArchiveFile()這個方法對之前產(chǎn)生的垃圾文件進行清除,以免多次打包以后占用我們的工程目錄下的空間,下面是清除這些文件的方法:
python清除文件的方法
請大家忽略我的工程名字,測試使用。
到這里我們的python自動化打包小程序就寫完了,等你也寫完 的時候就會感覺,其實還是挺簡單的嘛。
不要著急,最后一步,沒有這一步,這個python程序也運行不起來啊
在主函數(shù)中調(diào)用我們編寫的方法:
然后保存,收工,如果不出意外的話,前提是你得寫對,這個小程序就完成了,然后就可以打開終進行測試了,在終端里進入你放這個python程序的目錄下,(這里申明一下,我寫的這個python程序的名字叫做autobuild.py)直接輸入命令:
python autobuild.py
然后回車,如果你看到終端不斷的打印出build的信息,那么恭喜你,你成功了,接下了就是等待,等待build完成,主要就是build的時間久一點,build完以后導出ipa包其實不到10秒鐘就好了,等到你的桌面出現(xiàn)了一個新的ipa包,你的自動打包功能就完成了,然后我們進入到build這個文件夾下面去查看,build生成的xcarchive文件也被刪除了,這個小程序就算是成功完成了,以后我們只要想對工程進行打包測試的時候只需要在終端輸入python autobuild.py這個命令就可以先忙著其他的事情等到ipa包自動出現(xiàn)了,再也不用手動去一步一步的點擊下一步,隨時盯著進度等著點下一步了
總結
以上是生活随笔為你收集整理的ios执行python脚本_iOS使用python编写脚本自动化打包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DSA与RSA
- 下一篇: 搜索引擎优化核心关键词策略