iOS脚本自动打包By_Python

0、show you the code

自动打包脚本代码见此,可以对照着看看下面的注解;
好用不要忘记加star哇

gitup地址

1、终端运行xcodebuild的时候:报错tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTool

 原因:主要由于电脑中安装多个xcode的原因;
 解决:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer         
 修改路径为经常使用的xcode.app的路径;   

2、如果终端尝试直接执行xcrun或者xcodebuild命令;将工程的文件夹路径拖入终端,并非.xcodeproj路径

3.mac下创建.sh文件 touch ##.sh

 运行.sh文件   chmod ##.sh  
 这个与主题无关,本来最开始打算用shell脚本写的

4 mac下执行.py文件

cd 到文件夹目录
在文件首行添加#!/usr/bin/env python
添加权限 chmod 777 filename.py
执行脚本./filename.py
python ./autoipa.py

5.发邮件模块

一切就绪之后,发邮件模块出现问题:报错:"socket.gaierror: [Errno 8] nodename nor servname provided, or not known"

想了下,是否是由于python没有发送邮件的模块,于是开始安装邮件发送模块:

1)、

pip search smtplib

可以看到这么多模块:

aiosmtplib (1.0.1)           - asyncio SMTP client
easyemail (0.4.0)            - Simple lib abstracting   email sending with smtplib.
mailclient (0.2.0)           - Simplified use of    smtplib for Python. Easy email sending.
micropython-smtplib (0.0.1)  - Dummy smtplib module     for MicroPython
personal (0.1.1)             - Easy, secure self    notification via email and sms, using smtplib and twilio
PyEmail (0.0.1)              - Python library to send   emails using SMTPLIB library
secure-smtplib (0.1.1)       - Secure SMTP subclasses   for Python 2
smtplibaio (2.1.1)           - An async version of  smtplib
smtpssllib.py (2.4.4.1)      - Modified version of  smtplib supporting SSL
xsmtplib (1.0.0.dev1)        - An extension of  standard smtplib, which supports proxy tunneling

2)

sudo pip install PyEmail

结果:

Successfully installed PyEmail-0.0.1

然后再试试------结果依然错了;
继续看看错误

"socket.gaierror: [Errno 8] nodename nor servname provided, or not known"   

可能是服务器名字错了么?果然,网上搜了下python发送qq邮件,

iOS脚本自动打包By_Python_第1张图片
屏幕快照 2017-05-05 下午3.16.22.png

服务器是这样的"smtp.qq.com",而我想当然的写成了"mail.qq.com";然后搜了下163的,是这样的:"smtp.163.com";好吧;

3)依然不对---然后提示starttls错误,看了邮箱的配置,将端口从25设置到了587。然后加了一句话--

server.starttls()     

终于可以上传了

6.多次遇到这个问题"Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found." UserInfo={NSLocalized"

直接终端输入 :

rvm system   

然后就好了

7.关于 server.login(from_addr, password)中的password,第一印象写上了自己的邮箱密码;意料之中的错了,需要去:邮箱--设置--帐号中开启SMTP服务,然后获取授权登录密码;

8 关于打包exportOptionsPlist中的teamID哪里获取?





    teamID
    UA11AAJJKK8 //TeamID
    method
    ad-hoc //ad-hoc打包
     compileBitcode //是否编译bitcode
    


我是无意间这么发现的:在https://developer.apple.com/中登录appleId,然后在开发者中心点击证书,此时查看URL就会发现
/Users/cdbqkj/Desktop/8D35C867-A71E-4A99-BEA9-17804E33395C.png

9.脚本使用

1).终端打开第一次使用此脚本的话先输入:

 rvm system  

或者遇到上面的"No applicable devices found."的时候输入
2). 定位到.py上级目录

cd /Users/cdbqkj/Desktop/ZX/ios/autoipa-master

3).

chmod /Users/cdbqkj/Desktop/ZX/ios/autoipa-master/autoipa.py

4).

python ./autoipa.py 

10.尚待开发完善

1).qq企业邮箱的邮件发送问题:尝试了获取企业授权码,一直卡在邮件发送那里了
2).dysm文件的导出
3).你们来说bug

参考链接

从零开始写个自动打包IPA脚本
iOS自动打包并发布脚本
fir-cli

你可能感兴趣的:(iOS脚本自动打包By_Python)