python ios自动化_Python脚本实现iOS自动化打包

首先声明一点:上面地址的文章其实已经讲述的很详细了,但是我为什么还要写这篇文章呢。因为我早上洗脸的时候突然想到我为什么不把app的文件路径直接作为参数传过去呢,那样的话我的py文件就不用每个项目都再打开修改路径了不是。

鉴于此,我就想到了写这篇文章。

显然,我就是在原有基础上进行了参数传递这个操作,我们将需要打包的app文件路径在终端作为Python执行的一个input部分输入,就可以生成一个和项目名称相同的ipa文件(这点也做了优化,原文生成的统一是Payload.ipa,个人感觉不是很便于区分。拙见勿喷~~~)。

那么,具体的代码实现是怎么样的呢。

# 输入路径

fullPath = input('请输入您要打包文件的路径:')

print ("\n您输入的文件路径为:%s\n" % fullPath)

# 倒序查找全路径中的项目名称,rfind方法获取到的是索引值

print("----rfind:%s"%fullPath.rfind('/'))

# 进行名称字符串的截取(原来的路径字符串并没有被改变)

projectName = fullPath[fullPath.rfind('/')+1:-4]

# 设置打包文件的路径

ipaPath = '/Users/UserName/Desktop/'+projectName

ipaDir = '/Users/UserName/Desktop/'+projectName+'Ipa'

以上是优化代码的主要部分。

主要操作就是对输入的内容进行了字符串截取,拿到了一个项目名称相同的字符串作为后面要用到的ipa包的包名。

其中的用户名UserName其实就是你电脑的用户名,大家用到的时候记得更改就好。

下面贴出最终的代码:

#!/usr/bin/env python

#coding=utf-8

import os

import commands

def bulidIPA():

# 输入路径

fullPath = input('请输入您要打包文件的路径:')

print ("\n您输入的文件路径为:%s\n" % fullPath)

# 倒序查找全路径中的项目名称,rfind方法获取到的是索引值

print("----rfind:%s"%fullPath.rfind('/'))

# 进行名称字符串的截取(原来的路径字符串并没有被改变)

projectName = fullPath[fullPath.rfind('/')+1:-4]

# 设置打包文件的路径

ipaPath = '/Users/UserName/Desktop/Payload'

ipaDir = '/Users/UserName/Desktop/'+projectName+'Ipa'

# 创建Payload文件夹

commands.getoutput('mkdir -p %s' % ipaPath)

# 将app拷贝到PayLoadPath路径下

commands.getoutput('cp -r %s %s'% (fullPath, ipaPath))

# 在桌面上创建packBagPath的文件夹

commands.getoutput('mkdir -p %s' % ipaDir)

# # 将PayLoadPath文件夹拷贝到packBagPath文件夹下

commands.getoutput('cp -r %s %s' % (ipaPath, ipaDir))

#

# # 删除桌面的PayLoadPath文件夹

commands.getoutput('rm -rf %s' % ipaPath)

#

# 切换到当前目录

os.chdir(ipaDir)

# 压缩packBagPath文件夹下的PayLoadPath文件夹夹

commands.getoutput('zip -r ./Payload.zip .')

print ("\n*************** 打包成功 *********************\n")

# 将zip文件改名为ipa

commands.getoutput('mv Payload.zip Payload.ipa')

# 删除payLoad文件夹

commands.getoutput('rm -rf ./Payload')

bulidIPA()

注意点:

1-python对换行对齐要求很严格,代码缩进如果不对的话就会编译不过,这个需要特别注意

2-终端输入路径时候,要保证你的项目是在“Generic iOS Device”选项下编译出来的。并且输入路径需要在前后加上单引号。切记。

3-rfind是Python字符串倒序查找索引的方法。

4-文件路径的查找方法,直接通过Xcode找到打开项目找到编译后的.app文件,拖过来就是全路径了。

以上就是关于使用Python实现iOS自动化打包的方法了,希望可以帮到大家。

要不是因为我懒我也不会想到这个优化方法了,不知道是不是真正算得上优化,但是我个人觉得还是有点好处的。

0511更新:通过和原文作者的沟通,对代码进行了修正更改

主要是因为打包的文件夹和文件需要用Payload来命名,如果不是Payload的话虽然也会生成一个ipa文件,但是这个文件是不能正常安装使用的。亲测。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值