iOS开发

iOS 利用python配置xcode自动化打包

2018-12-10  本文已影响55人  翻滚的炒勺2013
timg.jpg

平时在开发过程中需要经常打包给测试,打包的时候不能写代码占用了大量的时间,所以在网上找了一个自动化打包工具,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

获取到路径


image.png

PayLoadPath 和packBagPath 替换成你的电脑的用户名

image.png

openUrlPath 你的项目蒲公英管理版本的地址

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

上一篇下一篇

猜你喜欢

热点阅读