❤️ iOS 香港地四区一键装箱辅助工具

一键装箱
1、为什么要一键装箱辅助工具?
每修正两个问题,检测几乎让你装箱两个上时载fir , 你要clean -> 编程装箱 -> 上时载fir -> 通告检测。而且装箱速率不好慢,很轻率了。如果有两个辅助工具能一键的替你略过上时面所有的事,岂没有是厉害哉?
2、网路上时有那么多一键装箱辅助工具,我直接下才载就行及了咋要研习?
无论如何网路上时有许多装箱辅助工具,包含github上时也有一些直接从github下才载并装箱上时载的,但是他们的没有一定适于你,首先要下才载下才来要选用置各种函数,没有能选用,还有网路上时大几乎是专门针对普通建设工程项目,但是我们建设工程项目是cocoaPods行政管理的,编程的是 xxx.xcworkspace 没有是 xxx.xcodeproj 。怎么办 , xxx.xcodeproj 一键编程之后就在你建设工程项目产品目录下才能有 xxx.app 但是 xxx.xcworkspace 打听没有到怎么办?怎么指派产品目录 , 这些网路上时的诺耶湖大几乎没有的。
3、需要哪些准备组织工作?
首先要你得有挂xcode , python3.5 (我挂的版,其他版也行及), 待装箱的建设工程项目。安挂相关机构应用软件,随意搜寻下才就可以了。
看看图完结,开始注释。责任编辑透露的是一键clean香港地四区建设工程项目,编程 装箱 上时载fir 电邮通告相关机构相关人员。没有牵涉从git上时下才载。基本原理就是借助python制订及控制器指令。对iOS建设工程项目进行及装箱
xcode 控制器指令基本几乎是以 xcodebuild 开首的透露好几个单纯的指令,大家可以在管理器及哦。
xcodebuild -version 查为询xcode的版号和build的版号
xcodebuild -showsdks 估算当前模块的SDK、及其版
xcodebuild -list 先要 cd 到建设工程产品目录下才制订及此指令 估算target Schemes 等
如果你的建设工程项目是普通的建设工程项目没有使用cocoaPods 那么 cd 到建设工程产品目录下才直接制订及 xcodebuild build ,就能一键编程了 函数几乎是预设 预设build release。你也可以指派 xcodebuild -configuration debug build build的时候能在你建设工程产品目录下才生变为两个build文档,build/Release-iphoneos/xx.app就是一能装箱变为ipa需要的公文。 第二次build速率能非常厉害,要把编程缓冲环境尔下才来,没有要删掉build文档,以之后build 速率就能变厉害。
如果没有幸你也和我一样使用了cocoaPods , 其实也没啥没有幸的 ,只是编程的时候就比较麻烦事了 ,首先要还是 cd 到建设工程项目产品目录 。但是你要指派编程公文和 scheme而且要指派build之后build文档的边线,如果边线打听没有到,之后面怎么一键装箱ipa?。
我这里面的指令大约是这样的:xcodebuild -workspace xxx.xcworkspace -scheme 你的scheme -configuration debug -derivedDataPath 指派轨迹 ONLY_ACTIVE_ARCH=NO这样就能正常编程并把build指派到我们想回来的产品目录
装箱ipa只要上时面轨迹对了,装箱指派从.app 公文的轨迹 , 装箱到你指派地方性就行及了。指令:xcrun -sdk iphoneos PackageApplication -v 这里面凿.app的轨迹 -o 指派储藏ipa轨迹/公文名.ipa
上时面只是说道了下才编程的基本原理,下才面看看下才怎么通过python一键处理这些任务 。
首先要创立两个xxx.py公文,需要你懂点python 句法,没有懂就直接copy空格。没有要改回tab 。python的句法是严格按照tab界定的。之后面我能翻出我的空格,你们改回送出生改回变速率就可以使用。
首先要你需要引进一些缓冲倚赖。增设空格为utf-8
# -*- coding: utf-8 -*-import osimport sysimport timeimport hashlibfrom email import encodersfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formataddrimport smtplib
第二步 , 新闻稿一些变速率
# 建设工程项目子产品目录project_path = "/Users/xx/project"# 编程获得变为功之后.app所处产品目录app_path = "/Users/xx/project/build/Build/Products/Release-iphoneos/xxx.app"# 指派建设工程项目下才编程产品目录build_path = "build"# 装箱之后ipa储存产品目录targerIPA_parth = "/Users/xx/Desktop"
第二步,clean,和创立两个文档,这里面的选用置公文是专门针对有使用cocoaPods的建设工程项目 , 如果没有使用 没有用创立文档 ,指令预先及精简
# 清除建设工程项目 创立build产品目录def clean_project_mkdir_build(): os.system('cd %s;xcodebuild clean' % project_path) # clean 建设工程项目 os.system('cd %s;mkdir build' % project_path) # 创立产品目录
%s 是py的转义符令,空格令串种类。之后面是真正的充凿。
第二步编程建设工程项目
def build_project(): print("build release start") os.system ('cd %s;xcodebuild -list') os.system ('cd %s;xcodebuild -workspace xxx.xcworkspace -scheme xxx -configuration release -derivedDataPath %s ONLY_ACTIVE_ARCH=NO || exit' % (project_path,build_path))
没有知道scheme是啥的xcodebuild -list 自己查为
第五步 装箱
# 装箱ipa 并且留存在视窗def build_ipa(): global ipa_filename ipa_filename = time.strftime('yourproject_%Y-%m-%d-%H-%M-%S.ipa',time.localtime(time.time())) os.system ('xcrun -sdk iphoneos PackageApplication -v %s -o %s/%s' % (app_path,targerIPA_parth,ipa_filename))
然之后你现在先编撰个工具,按次序加载就可以编程装箱了 ,制订及完能看看到视窗的ipa
def main(): # 清除并创立build产品目录 clean_project_mkdir_build() # 编程coocaPods建设工程项目公文并 制订及编程产品目录 build_project() # 装箱ipa 并制订到视窗 build_ipa()
制订及就在最为下才面直接加载就行及了 main()
我们是把空格上时载到fir检测的,如果你们用的风铃或者其他,恳请预先及搜寻。通过 gem install fir-cli 如果你没有ruby缓冲环境,预先及搜寻
安挂完变为之后,在管理器及输出fir 回车 。能有fir的指令存档。我们上时载fir需要fir的API_TOKEN , 回来fir官方登入打听不好就能辨认出。抢到那一排排空格令,在变速率四区加之
# firm的api tokenfir_api_token = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
然之后指令兴起ipa产品目录和token就可以上时载了
#上时载def upload_fir(): if os.path.exists("%s/%s" % (targerIPA_parth,ipa_filename)): print('watting...') # 直接使用fir 有问题 这里面使用了绝对门牌号 在终端设备通过 which fir 获得 ret = os.system("/usr/local/bin/fir p '%s/%s' -T '%s'" % (targerIPA_parth,ipa_filename,fir_api_token)) else: print("没有辨认出ipa公文")
这里面也有遇到两个=坑穴,就是在终端设备直接fir 拎之后面的就可以制订及 ,但是在这里面辨识没有了指令,必须制订及全轨迹,怎么打听指令的及全轨迹呢?终端设备输出 which fir
具体送出电邮特性看看空格,这里面有好几个变速率。我使用的是新浪网电子邮箱送出的,smtp服务建设工程项目器 , 如果你是 pop3 恳请更改回,要在电子邮箱里面打开相应的服务建设工程项目
from_addr = "xxxx@"password = "*****"smtp_server = ""to_addr = 'aaa@,bbbb@'
然之后送出电邮的工具
我们的fir轨迹是竖直的
# 送出电邮def send_mail(): msg = MIMEText('xxx iOS检测建设工程项目已经装箱先行,恳请赶赴 http://fir.im/xxxxx 下才载检测!', 'plain', 'utf-8') msg['From'] = _format_addr('一键装箱模块 <%s>' % from_addr) msg['To'] = _format_addr('xxx检测相关人员 <%s>' % to_addr) msg['Subject'] = Header('xxx iOS应用程序装箱流程', 'utf-8').encode() server = smtplib.SMTP(smtp_server, 25) server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, [to_addr], msg.as_string()) server.quit()
然之后制订及次序是这样的
def main(): # 清除并创立build产品目录 clean_project_mkdir_build() # 编程coocaPods建设工程项目公文并 制订及编程产品目录 build_project() # 装箱ipa 并制订到视窗 build_ipa() # 上时载fir upload_fir() # 送出电邮 send_mail()# 制订及main()
关于 iOS 香港地四区一键装箱辅助工具 的介绍,我就给大家介绍到这里了,相信你对上述问题心中已经有了答案。