平时在开发过程中需要经常打包给测试,打包的时候不能写代码占用了大量的时间,所以在网上找了一个自动化打包工具,1分钟打好测试包之后是上传到蒲公英.
下面是配置步骤
1 - 安装python3
python3百度网盘地址
提取密码: p3j0
安装
image.png image.png在命令行模式下输入python3,出现如下界面代表安装成功
image.png安装requests模块
这个时候可能报错,原因是没有安装requests模块
No module named 'requests'
打开命令行输入
pip install requests
这个时候提示找到pip命令,所以要安装homeBrew,在命令行输入命令
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
image.png
检测是否安装成功
brew
看到此页面代表安装成功
image.png
然后输入
pip install requests
到现在为止已经配置好了python3环境
接下配置打包文件 .建立一个后缀名为py的文件
import os
import requests
import webbrowser
import subprocess
import shutil
import smtplib
from email.mime.text import MIMEText
appFileFullPath = '/Users/zhaozhiwei/Library/Developer/Xcode/DerivedData/FangShengyun-emvlyojwcscnpddkiopdxrtwyanu/Build/Products/Debug-iphoneos/FangShengyun.app'
PayLoadPath = '/Users/zhaozhiwei/Desktop/Payload'
packBagPath = '/Users/zhaozhiwei/Desktop/ProgramBag'
openUrlPath = 'https://www.pgyer.com/manager/dashboard/app/2febccd6f22009f869fe4846a40e36a9'
downloadUrlPath = 'https://www.pgyer.com/Hgh6'
mail_user = '45329453@qq.com' #发送方邮箱
mail_pass = 'riatebgvuszcbghe' #填入发送方邮箱的授权码 百度:QQ邮箱授权码如何获取 查看教程
msg_to = '45329453@qq.com' #收件人邮箱
mail_namelist = [""]
#上传蒲公英
USER_KEY = "52ad35c8d9ec475ae95f3c75bb7dc5fd"
API_KEY = "601bbfe2432f450beef4f3fa2fc57bc3"
#上传蒲公英
def uploadIPA(IPAPath):
if(IPAPath==''):
print ("没有找到对应上传的IPA包")
return
else:
print ("开始上传到蒲公英")
url='http://www.pgyer.com/apiv1/app/upload'
data={
'uKey':USER_KEY,
'_api_key':API_KEY,
'installType':'2',
'password':'',
'updateDescription':des
}
files={'file':open(IPAPath,'rb')}
r=requests.post(url,data=data,files=files)
def openDownloadUrl():
webbrowser.open(openUrlPath)
print ("\n更新成功\n")
#编译打包流程
def bulidIPA():
#删除之前打包的ProgramBag文件夹
subprocess.call(["rm","-rf",packBagPath])
#创建PayLoad文件夹
mkdir(PayLoadPath)
#将app拷贝到PayLoadPath路径下
subprocess.call(["cp","-r",appFileFullPath,PayLoadPath])
#在桌面上创建packBagPath的文件夹
subprocess.call(["mkdir","-p",packBagPath])
#将PayLoadPath文件夹拷贝到packBagPath文件夹下
subprocess.call(["cp","-r",PayLoadPath,packBagPath])
#删除桌面的PayLoadPath文件夹
subprocess.call(["rm","-rf",PayLoadPath])
#切换到当前目录
os.chdir(packBagPath)
#压缩packBagPath文件夹下的PayLoadPath文件夹夹
subprocess.call(["zip","-r","./Payload.zip","."])
print ("打包成功")
#将zip文件改名为ipa
subprocess.call(["mv","payload.zip","Payload.ipa"])
#删除payLoad文件夹
subprocess.call(["rm","-rf","./Payload"])
#创建PayLoad文件夹
def mkdir(PayLoadPath):
isExists = os.path.exists(PayLoadPath)
if not isExists:
os.makedirs(PayLoadPath)
print (PayLoadPath + '创建成功')
return True
else:
print (PayLoadPath + '目录已经存在')
return False
#发送邮件
def send_qq_email(title,conen):
try:
content = "新版本已发布请前往:\n" + downloadUrlPath + " 下载测试" + "\n更新内容:" + conen
msg = MIMEText(str(content))
#设置标题
msg["Subject"] = title
# 发件邮箱
msg["From"] = mail_user
#收件邮箱
msg["To"] = ";".join(mail_namelist)
# 设置服务器、端口
s = smtplib.SMTP_SSL("smtp.qq.com", 465)
#登录邮箱
s.login(mail_user, mail_pass)
# 发送邮件
s.sendmail(mail_user, mail_namelist, msg.as_string())
s.quit()
print ("邮件发送成功!")
return True
except smtplib.SMTPException:
print ("邮件发送失败!")
return False
if __name__ == '__main__':
des = input("请输入更新的日志描述:")
bulidIPA()
uploadIPA('%s/Payload.ipa'%packBagPath)
openDownloadUrl()
send_qq_email("App 测试版本更新",des)
参数说明:
appFileFullPath : 项目初始化的时候这个.app是红色的,成功编译一次就会变成黑色,把它直接拖到命令行
获取到路径
image.png
PayLoadPath 和packBagPath 替换成你的电脑的用户名
image.pngopenUrlPath 你的项目蒲公英管理版本的地址
image.png** downloadUrlPath** 你的项目蒲公英打包完成的下载页
![image.png](https://img.haomeiwen.com/i1419035/28c717357da5e8a3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
**mail_pass :填入发送方邮箱的授权码 百度:QQ邮箱授权码如何获取 查看教程
** USER_KEY和API_KEY**
点击我的
image.png 点击我的替换掉USER_KEY和API_KEY 保存
回到命令行模式 输入即可
python 你的打包文件名.py
打包完成后自动打开蒲公英页面
end
网友评论