如何使用Xcode进行快速打包

一般项目到了测试阶段,给内部非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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文始发于我的博文详解Shell脚本实现iOS自动化编译打包提交,现转发至此。 目录 前言 Shell脚本涉及的工...
    zackzheng阅读 44,546评论 95 173
  • “外面的雷声再响,雨点再大,也淋不湿你,我一直都在,不要怕。”下雨天总能激发我内心深处的恐惧,也只有下雨天可以让...
    26c1843eca30阅读 337评论 0 3
  • 一. 什么是DrawerLayout(抽屉式导航栏) 抽屉式导航栏是一个面板,它将应用的主要导航选项显示在屏幕左边...
    NickelFox阅读 1,829评论 0 6