美文网首页脚本上传
iOS APP编译脚本和上传AppStore脚本(xcrun a

iOS APP编译脚本和上传AppStore脚本(xcrun a

作者: 简单点的笨演员 | 来源:发表于2021-04-16 17:51 被阅读0次

    编译脚本

    保存下面的代码到项目目录下build.plist,并修改里面的配置,这个编译配置文件:

    <?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>method</key>
        <string>app-store</string>
        <key>teamID</key>
        <string>XXXXXXXXX</string>  <!--- 修改成你的 teamID -->
        <key>uploadBitcode</key>
        <true/>
        <key>compileBitcode</key>
        <true/>
        <key>uploadSymbols</key>
        <true/>
        <key>signingStyle</key>
        <string>manual</string>
        <key>signingCertificate</key>
        <string>Apple Distribution</string>
        <key>provisioningProfiles</key>
        <dict>
            <key>com.test.app1</key>  <!--- 修改成你的 Bundle Identifier -->
            <string>XXXXXXXX</string>  <!--- 修改成你的 证书名 -->
            <key>com.client.appname.watchkitapp</key>
            <string>Client App WatchApp Release</string>
            <key>com.client.appname.watchkitapp.watchkitextension</key>
            <string>Client App WatchKitExtension Release</string>
            <key>com.client.appname.RemoteNotificationServiceExtension</key>
            <string>Client App PushExtension Release</string>
            <key>com.client.appname.Stickers</key>
            <string>Client App Stickers Release</string>
        </dict>
    </dict>
    </plist>
    

    保存下面的代码到项目目录下build.sh,并修改里面的配置,第一次执行需要在当前目录下的命令行下执行:chmod +x build.sh,之后要编译直接在命令行执行:sh /YOUR_PATH/build.sh

    #!/bin/bash
    
    # 没有权限执行就执行下面的命令
    # chmod +x build.sh
    
    # 配置
    TARGET_NAME=YOUR_PROJECT_NAME
    OUTPUT_PATH=./build
    
    # 切换到脚本的目录
    cd $(dirname $0)
    
    # 清理之前的输出
    rm -r -f ${OUTPUT_PATH}
    mkdir ${OUTPUT_PATH}
    
    # 进入build路径clean一下你的工程
    echo "===============现在清理工程==============="
    xcodebuild clean -workspace ios.xcworkspace -scheme ${TARGET_NAME} -configuration Release -quiet
    
    if [ $? -eq 0 ]; then
        # archive导出.xcarchive文件
        echo "===============现在编译工程==============="
        xcodebuild archive -workspace ios.xcworkspace -scheme ${TARGET_NAME} -archivePath ${OUTPUT_PATH}/${TARGET_NAME}.xcarchive -quiet
        
        if [ $? -eq 0 ]; then
            # 导出ipa包
            echo "===============现在打包ipa==============="
            xcodebuild -exportArchive -archivePath ${OUTPUT_PATH}/${TARGET_NAME}.xcarchive -exportPath ${OUTPUT_PATH} -exportOptionsPlist build.plist -quiet
            
            if [ $? -eq 0 ]; then
                echo "===============打包成功==============="
            fi
        fi
    fi
    

    注意,这里打包的证书是直接使用xcode里项目配置的,xcode能打包这个命令行就能打包。如果想指定特定的证书,请自行百度 CODE_SIGN_IDENTITY

    上传脚本

    保存下面的代码到项目目录下upload.sh,并修改里面的配置,apiKey获取方式参考这里,第一次执行需要在当前目录下的命令行下执行:chmod +x upload.sh,之后打包后要上传直接在命令行执行:sh /YOUR_PATH/upload.sh

    #!/bin/bash
    
    # 没有权限执行就执行下面的命令
    # chmod +x upload.sh
    
    # 配置
    TARGET_NAME=YOUR_PROJECT_NAME
    OUTPUT_PATH=./build
    API_KEY=xxxxxxxxxx
    API_ISSUER=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    
    # 切换到脚本的目录
    cd $(dirname $0)
    
    IPA_FILE=${OUTPUT_PATH}/${TARGET_NAME}.ipa
    if [ -f "$IPA_FILE" ] ; then
        echo '===============现在开始ipa检查============='
        xcrun altool --validate-app -f $IPA_FILE -t ios --apiKey ${API_KEY} --apiIssuer ${API_ISSUER}
        if [ $? -ne 0 ]; then
            echo '===============ipa检查失败,请检查============='
        else
            echo '===============ipa检查成功,现在开始上传=============='
            xcrun altool --upload-app -f $IPA_FILE -t ios --apiKey ${API_KEY} --apiIssuer ${API_ISSUER}
            echo '===============上传ipa成功=============='
        fi
    else
        echo '===============找不到ipa,请先编译! ============='
    fi
    

    打包并上传流程:

    1. xcode编写代码,并修改版本号;
    2. 编译并打包成ipa:sh /YOUR_PATH/build.sh
    3. 上传ipa到AppStore:sh /YOUR_PATH/upload.sh
    4. 在AppStore发布(AppStore可能有延迟,需要过几分钟才能显示)

    相关文章

      网友评论

        本文标题:iOS APP编译脚本和上传AppStore脚本(xcrun a

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