浅谈iOS打包方式及流程

本文简单介绍下将iOS项目中生成的.app文件生成可以直接安装的.ipa文件的几种方式。

Apple推荐方式:Xcode的Archive功能

  • 首先,拔掉所有连接的设备。
  • 然后,Xcode菜单栏->Product->Archive,此时项目会重新编译,耐心等待,编译完成会出现以下界面。

2D2621EA-72B0-499C-94C0-8F54E7A5D091.png

  • 如图点击“Export”进行导出,弹出以下界面。

296783a3ae02742f8c8b91a029f7c378.jpg

  • 选择导出类型,一般选后两个。

    • Save for iOS App Store Deployment
      保存到本地 准备上传App Store 或者在越狱的iOS设备上使用
    • Save for Ad Hoc Deployment
      保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的uidi)
    • Save fro Enterprise Deployment
      这种主要针对企业级账户下 准备本地服务器分发的app

      • 选择这种方式时,需要提供发布证书,如图,选择相应证书

      CA37F30E-41BE-4A51-8E03-86C8BF4B89EA.png

      • 导出到相应界面

    65524A09-0E45-483B-AB80-AA1B0E3C927A.png

通过iTunes

这种方式十分简单,通过把编译后的.app文件拖入iTunes,生成.ipa文件。

  • 拔掉所有联机的设备,选择target->”iOS Device” 方式进行编译。
  • 编译成功,搜索appName.app所在位置(appName为你的应用名称)。
  • 打开iTunes,选择”应用程序”,将生成的.app文件拖入,如果已经存在该应用,先删除。
  • 拖出该应用,即生成.ipa文件

直接压缩改后缀名

简单暴力,可以手动压缩改后缀名,也可通过脚本实现。下面分别介绍:
1.手动压缩后改后缀名

  • 拔掉设备,Xcode编译生成.app文件
  • 新建“Payload”文件夹,注意名字要一字不差
  • 将.app包放到Payload目录下,注意app的名字不做任何更改
  • Payload文件夹压缩成.zip包,并修改后缀名为.ipa

2.使用脚本自动生成

  • 创建“distribute”文件夹
  • 将Xcode编译生成的.app文件拷贝到该目录下
  • 该目录下创建“distribute.sh”脚本文件,内容如下(appName为你.app名字):

    1
    2
    3
    4
    5
    6
    7
    rm -rf APP
    mkdir APP
    mkdir APP/Payload
    cp -r appName.app APP/Payload/appName.app
    cd APP
    zip -r appName.ipa Payload
    exit 0
  • 打来Terminal,cd到distribute文件夹下,执行distribute.sh脚本,如果权限不够,则执行“chmod 777 distribute.sh”添加权限。

  • 若干秒后执行完毕,生成“APP”文件夹,APP目录下的.ipa就是我们要的包。如图:

FEE7AE77-0B62-49B3-9157-CBFA84E8A341.png