iOS-打包ipa脚本

执行说明放在项目更目录下执行

sh pkg.sh(文件名本身命名)

脚本代码

#!/bin/bash
    #自动化编译打包脚本
    #相关设置 1.PROJECT->Info->Configuations 点击加号添加本身须要的环境名
    # 2.PROJECT->Build Settings->Preprocessor Macros 设置对应环境的键值
    #Config  表示服务器环境 Dubug:开发 Prm:预生产 Release:生产
    # `pwd` 表示当前路径
    #Project_Name 根据工程的名字做修改

    # 获取当前目录
    currentDir=`pwd`

    #用/分割路径
    OLD_IFS="$IFS"
    IFS="/"
    dirNames=($currentDir)
    IFS="$OLD_IFS"

    #获取数组长度
    length=${#dirNames[@]}
    echo "分割结果:"${dirNames[@]}
    projectName=${dirNames[$length-1]}
    echo "项目名称:"$projectName

    scheme=$projectName
    echo "ppp-"$scheme
    #选择环境
    choose=0;
    if [[ $1 == 'Debug' ]]; then
    	choose=1
    fi

    if [[ $1 == 'Qa' ]]; then
    	choose=1
    fi

    #获取命令行参数
    # $0 是指令文件
    # $1 第一个参数
    # $2 第二个参数,依此类推

    echo '环境:'$1
    if [[ $choose == 0 ]]; then
    	echo '注意选择环境,用法以下:'
    	echo 'sh package.sh Debug|Qa'
    	echo ''
    	exit
    fi
    echo '开始打包。。。'

    pkg_plist="pkg.plist"
    if [ ! -d $pkg_plist ]
    then
        /usr/libexec/PlistBuddy -c "print" pkg.plist
        /usr/libexec/PlistBuddy -c "Add :bundle-identifier string ${projectName}" $pkg_plist
        /usr/libexec/PlistBuddy -c "Add :bundle-version string 1.0.0" $pkg_plist
        /usr/libexec/PlistBuddy -c "Add :kind string software" $pkg_plist
        /usr/libexec/PlistBuddy -c "Add :title string ${projectName}" $pkg_plist
    fi

    #编译 若是是workspace把-project替换成-workspace便可参数改成$projectName.xcworkspace
    config=$1 #项目模式Debug/Release等
    archivePath= ./$projectName
    xcodebuild archive \
    -project $projectName.xcodeproj \
    -archivePath $projectName \
    -scheme $projectName \
    -configuration $config

    #打包
    exportPath="./ipa/" #archive导出目录(ipa包)
    if [ ! -d $exportPath ]
    then
      mkdir $exportPath
    fi
    xcodebuild -exportArchive -archivePath ./$projectName.xcarchive \
    -exportPath $exportPath \
    -exportOptionsPlist ./$pkg_plist
相关文章
相关标签/搜索