iOS史上最簡單的自動打包上傳工具,xcode編譯完成自動進行。
如題
由於測試環境經常需要不斷地修改-打包-測試-修改...,如果使用xcode原生的打包方式費事費時,或者使用fastlane,Jenkins等自動整合工具,但是前期配置麻煩且費力,後期問題不斷又不好解決,於是有了以下內容:
目的:修改一個引數即可實現自動打包上傳一步搞定
開始:
NO.1 新增script phase
`

Snip20181211_1.png
`
NO.2 新增獲取你的python執行地址 (一般是/usr/bin/python)
不確定的可以終端執行命令: whereis python 獲取
NO.3 拷貝以下程式碼到檔案中
#!/usr/bin/python # -*- coding: utf-8 -*- import os import requests import webbrowser import subprocess import shutil # if need update package please set 1 updatePackage = 0 appFileFullPath = '/Users/Cube/Library/Developer/Xcode/DerivedData/TaoMei-cgateidmhzznixahnazxrlluggia/Build/Products/Debug-iphoneos/TaoMei.app' PayLoadPath = '/Users/Cube/Desktop/Payload' packBagPath = '/Users/Cube/Desktop/ProgramBag' openUrlPath = 'https://www.pgyer.com/manager/dashboard/app/55a92912ff9d474b9bf9358a25047041' USER_KEY = "14da2a85e3407edcfbe59c4f042f2987" API_KEY = "2cb66731e946cc0ef507542f3ee42edc" def uploadIPA(IPAPath): if(IPAPath==''): print("\n*************** NONE IPA*********************\n") return else: print("\n***************BEGIN UPLOAD *********************\n") url='http://www.pgyer.com/apiv1/app/upload' data={ 'uKey':USER_KEY, '_api_key':API_KEY, 'installType':'2', 'password':'', 'updateDescription':"" } files={'file':open(IPAPath,'rb')} r=requests.post(url,data=data,files=files) def openDownloadUrl(): os.chdir('/Users/Cube/Desktop') subprocess.call(["rm","-rf",packBagPath]) webbrowser.open(openUrlPath,new=1,autoraise=True) print ("\n*************** SUCCESS *********************\n") def bulidIPA(): subprocess.call(["rm","-rf",packBagPath]) mkdir(PayLoadPath) subprocess.call(["cp","-r",appFileFullPath,PayLoadPath]) subprocess.call(["mkdir","-p",packBagPath]) subprocess.call(["cp","-r",PayLoadPath,packBagPath]) subprocess.call(["rm","-rf",PayLoadPath]) os.chdir(packBagPath) subprocess.call(["zip","-r","./Payload.zip","."]) print ("\n*************** PACK DONE *********************\n") subprocess.call(["mv","payload.zip","Payload.ipa"]) subprocess.call(["rm","-rf","./Payload"]) def mkdir(PayLoadPath): isExists = os.path.exists(PayLoadPath) if not isExists: os.makedirs(PayLoadPath) print(PayLoadPath + 'BUILD DONE') return True else: print (PayLoadPath + 'BUILD FALSE') return False if __name__ == '__main__': if updatePackage: bulidIPA() uploadIPA('%s/Payload.ipa'%packBagPath) openDownloadUrl() else: print ("\n*************** NO PACKAGE *********************\n")
這裡請注意拷貝格式,python語法對縮排額對齊極其嚴格.
NO.4 去蒲公英主頁建立你的APP,並獲取相應的key,修改專案中的引數

Snip20181211_2.png
end
需要打包的時候修改updatePackage
引數為1即可,連線真機編譯,完成自動上傳到蒲公英主頁並且開啟你的瀏覽器重新整理.