美文网首页
如何使用Xcode进行快速打包

如何使用Xcode进行快速打包

作者: chengpengfei | 来源:发表于2018-05-15 17:53 被阅读315次

    一般项目到了测试阶段,给内部非iOS开发人员分发测试包就成了必不可少的工作。常用的打包方式是使用Xcode->Product->Archive,但是,真的很慢有木有(又可以趁机休息一波了)。下面开始介绍快速打包的方法,感兴趣的可以了解一下。

    ipa文件了解

    使用pp助手下载微信ipa包,右键打开方式选择归档使用工具打开之后如下图

    结构.png
    由此发现,其实ipa包就是一个zip包。在Payload 里面的文件就是我们在工程Product里面看到的xx.app文件,每次编译成功都会生成此文件。那反过来我们是不是新建一个Payload文件夹,把xx.app文件丢进去,然后压缩Payload呢?

    使用指令生成ipa文件

    1.使用Xcode快捷键command+B编译项目(一定要选择真机)
    2.编译成功之后使用终端打开xx.app所在目录

    $ mkdir Payload
    $ cp -rf xx.app Payload
    $ zip -r xx.ipa Payload
    

    此时就生成了我们的ipa文件,结果比使用Archive不要快太多。

    使用Xcode生成打包命令

    使用上面的方法确实快了不少,但是操作起来麻烦,虽然可以执行以上命令写到一个shell脚本里面去,但是其他项目也想打包的话又得改路径。所以为了通用,我们可以借助xcode帮我们生成打包的指令。

    1.打开项目设置页面选择Build Phases
    2.点左上角+号,选择New Run Script Phase
    3.新增以下指令

    PRODUCTS_PATH="${BUILT_PRODUCTS_DIR}"
    TARGET_APP_PATH="$PRODUCTS_PATH/${TARGET_NAME}.app"
    cd ../
    cd ../
    rm -rf LatestBuild
    mkdir -p LatestBuild
    cd LatestBuild
    touch package.command
    chmod +x package.command
    echo "#!/bin/bash" >> package.command
    echo 'cd `dirname $0`;' >> package.command
    echo "mkdir Payload;" >> package.command
    echo "echo =============================打包中=============================;" >> package.command
    echo "cp -rf $TARGET_APP_PATH Payload;" >> package.command
    echo "zip -r -q ${TARGET_NAME}.ipa Payload;" >> package.command
    echo "rm -rf Payload;" >> package.command
    echo "echo =============================打包完成=============================;" >> package.command
    echo "exit;" >> package.command
    

    4.再次编译项目会在当前项目的上两级目录下生成一个LatestBuild文件夹。

    生成的文件.png
    5.打开package.command,自动执行打包命令,打包成功后会在当前文件夹下生成项目的ipa包。
    打包成功.png

    相关文章

      网友评论

          本文标题:如何使用Xcode进行快速打包

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