美文网首页工具集合iOS DeveloperiOS开发
配置证书到完成自动化打包(也算改进吧)

配置证书到完成自动化打包(也算改进吧)

作者: 焚琴煮鹤de我 | 来源:发表于2016-04-27 17:26 被阅读919次

    愉快的进行一次xcode打包

    1.进到开发者中心,选择中间的的证书配置设置

    2.对应着不同环境下我们打包需要的文件,

    其中identifier和devices需要我们在网站上注册好.

    我们本地得到的cer(或者p12)是给电脑授权的,

    另外一个对应identifier的provision文件是给设备授权的

    3.现在以开发环境为例,如果前辈没有配置好p12文件就需要自己来啦

    (p12是原证书导出的交换证书)

    1. 我们提供一个csr文件给苹果授权,

    csr 文件在本地的钥匙串中选择从证书颁发机构请求即可

    ps:信息随便填,选择保存到本地即可

    1. 将csr上传就可以得到电脑的调试证书,.cer文件

    6.然后根据之前添加过的bundleId 和 设备,配置个自己设备使用的provision文件

    可以看到之前配置的各种provision文件,

    managed By Xcode 一般是在xcode端登录了账号fix issues 产生的配置文件,所以不推荐直接fix issue

    7.有了电脑的develop证书和设备的provision文件.我们就可以进行调试和打包develop包了,

    /usr/bin/security find-identity -v -p codesigning 查看本机的证书安装情况

    8.选择真机,archive来打包ipa

    9.一般选择直接export导出我们要的ipa文件,然后使用apploader上传,之前的upload to App store 是看不到进度条也看不到错误的,所以我很少使用

    ps:如果碰到请求超时,反复不成功,千万不要焦急,因为,他就是这么慢

    final: 如果不出什么错的情况下,一直next就可以得到我们要的ipa的包了.

     😂 笑着活下去 
    

    所以,一般集成测试的时候需要频繁的打包,这个流程下来基本也干不了什么别的了.

    1. apple其实提供了xcodebulidxcrun 的终端工具来打包的,facebook也提供了xctool 来辅助我们进行打包,fastlane同样也封装了gym来实现这个功能,在比较打包速度和易用性之下,最终还是选择了gym来实现打包

      对 xcodebulid 有兴趣?!

    2. 安装打包工具

    如果是EICaptain系统

    gem install -n /usr/local/bin gym(fastlane)

    gem install -n /usr/local/bin fir-cli(fir 上传工具)

    如果不是,直接 gem install就好了

    mac是自带ruby环境的,ruby -v查看当前版本,之前安装过cocoapods就没啥问题了

    可以看到gym打包需要提供的参数

    使用脚本打包咯😄

    1. 创建打包使用的sh文件

    #!/bin/bash
    
    #计时
    SECONDS=0
    project_path=$(pwd)
    now=$(date +"%Y_%m_%d_%H_%M_%S")
    current_user=$(logname)
    scheme="ingage"
    
    configuration="Release"
    
    export_method='development'
    
    workspace_path="$project_path/$scheme.xcodeproj"
    
    output_path="/Users/$current_user/Desktop"
    
    archive_path="$output_path/$scheme${now}.xcarchive"
    
    ipa_path="$output_path/$scheme${now}.ipa"
    
    ipa_name="$scheme${now}.ipa"
    
    commit_msg="$1"
    
    fir_token="69ef560a4d90bf1d5f9303f25e1bcd4f"
    
    #输出设定的变量值
    echo "===workspace path: ${workspace_path}==="
    echo "===archive path: ${archive_path}==="
    echo "===ipa path: ${ipa_path}==="
    echo "===export method: ${export_method}==="
    echo "===commit msg: $1==="
    
    #先清空前一次build
    gym --project ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}
    
    #上传到fir
    fir publish ${ipa_path} -T "${fir_token}" -c "${commit_msg}"
    
    #输出总用时
    echo "===Finished. Total time: ${SECONDS}s==="
    

    然后放在相应的目录之下,在终端之下使用 ./${name}.sh ${commit message}

    自动化打包开始

    打包加上传完成

    本地得到的文件,dysm是分析crash的符号文件,fastlane贴心啊~

    ps:如果没有执行.sh文件的权限,chmod + x ${filename}.sh

    相关文章

      网友评论

      本文标题:配置证书到完成自动化打包(也算改进吧)

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