IOS自动打包上传至蒲公英

##自动打包分为两部分

-生成archive文件 -从archive文件中导出ipa包

###生成archive包 在这里就需要使用到xcodebuild命令

对于普通的project命令为:

xcodebuild archive -project project的名称.xcodeproj -scheme 应用名称 -configuration 构造配置 -archivePath 期望保存的路径

对于workspace 则命令为

xcodebuild archive -workspace workspace的名称.xcworkspace -scheme 应用名称 -configuration 构造配置 -archivePath 期望保存的路径

关于exportOptionPlist 是打包的配置信息(如是否支持bitecode,证书与描述文件.....)大概如下

在我的脚本中并没有对其进行自动生成,我的建议是手动打包一次 然后在打好的包中找到该文件保存起来 一劳永逸

当archive文件生成成功后 则须从中导出ipa包

xcodebuild -exportArchive -archivePath archive文件路径 -exportPath 打包后期望保存的路径 -exportOptionsPlist 导出配置的相关信息的plist文件

##上传至蒲公英 根据蒲公英文档 API2.0 命令行如下

curl -F 'file=@ipa包的路径' -F '_api_key=蒲公英提供的AppKey' https://www.pgyer.com/apiv2/app/upload

###在了解的步骤之后 只需要脚本将这些命令行组合起来 在其中插入自己需要的操作,如对测试人员的通知,当前状态的输出等等....(我没有这块的需求,就没有写了)

最后附上代码 因为代码不长 我就直接写在这里了

#! /usr/bin/env python3
import os

#######################  须用户配置   ##############################


#将要上新的版本描述
updateDescription = ''

# 项目路径
projectPath = ''

# 项目名称
projectName = '

# 打包路径
IPASavePath = ''

# exportOptionPlist文件路径
exportOptionPlistPath = ''


#蒲公英App_Key
pgy_appKey = ''

##################################################################
#生成的Archive文件的路径
archivePath = IPASavePath + '/' +projectName + 'Archive'

#生成的ipa包的路径
IpaPath = IPASavePath + '/Apps/' + projectName + '.ipa'


# 清屏
def clearScreen():
    os.system('clear')
    os.chdir(projectPath)

# 生成archive文件
def makeArchive():
    os.system('xcodebuild archive -workspace %s.xcworkspace -scheme %s -configuration Release -archivePath %s'%(projectName,projectName,archivePath))



# 生成iPa包
def makeIpa():
    os.system('xcodebuild -exportArchive -archivePath %s.xcarchive -exportPath %s -exportOptionsPlist %s'%(archivePath,IPASavePath,exportOptionPlistPath))

# 上传至蒲公英
def upLoadToPGYer():

     res = (os.popen("curl -F 'file=@%s' -F '_api_key=%s' -F'updateDescription=%s' https://www.pgyer.com/apiv2/app/upload"%(IpaPath,pgy_appKey,updateDescription))).readlines()

 #自动打包
def automaticPack():
    clearScreen()
    makeArchive()
    makeIpa()
    upLoadToPGYer()

automaticPack()
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值