美文网首页iOS开发技术
iOS脚本自动打包By_Python

iOS脚本自动打包By_Python

作者: 石头人R | 来源:发表于2017-05-03 16:11 被阅读122次

    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邮件,

    屏幕快照 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哪里获取?

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>teamID</key>
        <string>UA11AAJJKK8</string> //TeamID
        <key>method</key>
        <string>ad-hoc</string> //ad-hoc打包
        <key> compileBitcode</key> //是否编译bitcode
        <false/>
    </dict>
    </plist>
    

    我是无意间这么发现的:在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

        本文链接:https://www.haomeiwen.com/subject/kstltxtx.html