iOS 制作自动打包脚本

作者: 檀羽冲 | 来源:发表于2017-07-26 13:17 被阅读198次

    在工程根目录下新建两个文件

    项目文件夹

    DevelopmentExportOptionsPlist.plist用来指定打包的类型,xcodebuild.sh是打包执行的shell脚本文件。

    DevelopmentExportOptionsPlist.plist 文件内容

    method的类型为String,用来指定打包ipa的类型,有以下可选项app-store、enterprise、ad-hoc、development,默认为development

    xcodebuild.sh文件中包括一些需要配置的参数,工程名project_name、打包模式development_mode、scheme名scheme_name

    打包的工程文件分两种(是否包含cocoapods):projectworkspace,如果需要打包的是project,则在archieve中将-workspace替换为-project,将.xcworkspace的路径替换为.xcodeproj的路径

    #工程名(自定义)
    project_name=eHRmobile
    
    #打包模式 Debug/Release(自定义)
    development_mode=Release
    
    #scheme名(自定义,一般与工程名相同)
    scheme_name=eHRmobile
    
    #plist文件所在路径
    exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist
    
    #导出.ipa文件所在路径
    exportFilePath=~/Desktop/$project_name-ipa
    
    echo '*** 正在 清理工程 ***'
    xcodebuild \
    clean -configuration ${development_mode} -quiet  || exit 
    echo '*** 清理完成 ***'
    
    
    echo '*** 正在 编译工程 For '${development_mode}
    xcodebuild \
    archive -workspace ${project_name}.xcworkspace \
    -scheme ${scheme_name} \
    -configuration ${development_mode} \
    -archivePath build/${project_name}.xcarchive -quiet  || exit
    echo '*** 编译完成 ***'
    
    
    echo '*** 正在 打包 ***'
    xcodebuild -exportArchive -archivePath build/${project_name}.xcarchive \
    -configuration ${development_mode} \
    -exportPath ${exportFilePath} \
    -exportOptionsPlist ${exportOptionsPlistPath} \
    -quiet || exit
    
    # 删除build包
    if [[ -d build ]]; then
        rm -rf build -r
    fi
    
    if [ -e $exportFilePath/$scheme_name.ipa ]; then
        echo "*** .ipa文件已导出 ***"
        cd ${exportFilePath}
        echo "*** 开始上传.ipa文件 ***"
        #此处上传分发应用
        echo "*** .ipa文件上传成功 ***"
    else
        echo "*** 创建.ipa文件失败 ***"
    fi
    echo '*** 打包完成 ***'
    
    

    自动打包(需在项目中配置好描述文件、开发者证书)
    使用方式:
    在终端中进入*.xcodeproj上级目录
    输入./xcodebuild.sh即可自动打包、如无执行权限则先执行chmod +x xcodebuild.sh

    最后会在桌面上生成打包完成的ipa文件夹。
    项目源码


    参考文章:
    iOS 制作自动打包脚本 Xcode8.3.2
    自动打包脚本

    相关文章

      网友评论

      • 草原野马:app-store上传商店
        enterprise企业证书
        ad-hoc这个是是测试证书吗,和development有什么区别
        development,公司调试证书。

      本文标题:iOS 制作自动打包脚本

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