美文网首页
iOS自动化打包脚本(Shell)

iOS自动化打包脚本(Shell)

作者: switer_iOS | 来源:发表于2021-07-20 09:42 被阅读0次

    iOS自动化打包脚本(Shell)

    相比于Xcode打包,自动化脚本打包可以更有效地解放生产力,不需要一步步操作等待.

    shell脚本

    #!/bin/zsh
    
    # 获取当前目录, 请将脚本放置于workspace或者Project同级目录
    PROJECT_PATH="$( cd "$( dirname "$0"  )" && pwd  )"
    
    # 项目target名字
    TARGET_NAME=$1
    
    # 打包环境
    CONFIGURATION=Release
    
    #工程文件路径
    # APP_PATH="${PROJECT_PATH}.xcodeproj"  #普通工程
    APP_PATH="${PROJECT_PATH}/${TARGET_NAME}.xcworkspace"   #工作区
    
    # Xcode clean
    xcodebuild clean -workspace "${APP_PATH}" -configuration "${CONFIGURATION}" -scheme "${TARGET_NAME}"
    
    # 打包目录
    DESKTOP_PATH="~/Desktop"
    
    # 时间戳
    CURRENT_TIME=$(date "+%Y-%m-%d %H-%M-%S")
    
    # 归档路径
    ARCHIVE_PATH="${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}/${TARGET_NAME}.xcarchive"
    # 编译环境
    
    # 导出路径
    EXPORT_PATH="${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}"
    
    # plist路径
    PLIST_PATH="${PROJECT_PATH}/ExportOptions.plist"
    
    # archive 这边使用的工作区间 也可以使用project
    xcodebuild archive -workspace "${APP_PATH}" -scheme "${TARGET_NAME}" -configuration "${CONFIGURATION}" -archivePath "${ARCHIVE_PATH}" 
    
    # # 导出ipa
    xcodebuild -exportArchive -archivePath "${ARCHIVE_PATH}" -exportPath "${EXPORT_PATH}" -exportOptionsPlist "${PLIST_PATH}"
    
    复制代码
    

    ExportOptions.plist文件

    ExportOption.plist文件配置如下图所示,

    [图片上传失败...(image-8ab379-1626745287775)]

    <figcaption style="display: block;">ExportOptions.plist</figcaption>

    provisioningProfiles字典中的值是项目的bundle id以及对应描述文件的名字, 配置该文件有一个取巧的方法, 直接使用Xcode打包, 之后直接导出ipa即可得到一份该文件, 如下图所示:

    [图片上传失败...(image-5ca4e4-1626745287775)]

    <figcaption style="display: block;">Xcode打包获取ExportOptions.plist文件</figcaption>

    注意: 如果是使用Xcode自动打包需要更改plist文件中的signingStyle的值为manual

    使用方法

    1. Xcode手动配置证书, 不能选择Automatically manage signing
    2. 将该脚本拖入终端后, 在空格后输入工程target名字

    更多

    xcodebuild更多详细使用, 在终端中输入:

        xcodebuild --help
    

    相关文章

      网友评论

          本文标题:iOS自动化打包脚本(Shell)

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