在iOS开发中,分发是一个非常重要的环节。分发iOS应用有两种方式,一种是通过App Store发布,另一种是通过企业证书分发。而企业证书分发的方式又分为两种,一种是通过OTA方式分发,另一种是通过手动下载ipa包进行分发。本文将主要介绍如何通过手动下载ipa包进行分发,并详细介绍提取ipa包的原理。
一、手动下载ipa包进行分发
手动下载ipa包进行分发是一种比较常见的方式,适用于企业内部分发或者小范围分发。步骤如下:
1. 打包ipa包
在Xcode中选择Product -> Archive,然后选择Export。在Export时选择“Save for Ad Hoc Depl哪个app可以分发多个视频oymeapp托管服务分发平台nt”或“Save for Enterprise Deployment”,然后选择对应的证书和描述文件,最后导出ipa包。
2. 上传ipa包
将ipa包上传到服务器或者第三方分发平台,获取下载链接。
3. 下载ipa包
在iOS设备中打开下载链接,点击下载ipa包,下载完成后会在设备上生成一个带有app图标的安装文件。
4. 安装ipa包
点击安装文件,系统会提示是否安装应用,点击安装即可完成安装。
二、提取ipa包的原理
在手动下载ipa包进行分发的过程中,我们需要上传ipa包到服务器或者第三方分发平台,而上传的ipa包是经过加密
处理的,不能直接解压。那么如何提取ipa包呢?
实际上,ipa包是一种特殊的zip包,只需要将其后缀名改为.zip即可解压。但是,由于ipa包经过加密处理,无法直接解压。因此,我们需要先将ipa包解密,然后再进行解压。
ipa包的解密过程分为两个步骤:
1. 解密embedded.mobileprovision文件
embedded.mobileprovision文件是描述文件,它包含了应用的签名信息和权限信息。在ipa包中,embedded.mobileprovision文件是加密的,需要使用openssl进行解密。
具体的解密命令如下:
“`
openssl smime -in embedded.mobileprovision -inform der -verify -noverify -out embedded.mobileprovision.decrypted
“`
2. 解密Payload目录下的.app文件
Payload目录下的.app文件是应用程序本身,也是加密的。解密命令如下:
“`
cat yourapp.ipa | gunzip -d -c | tar xopf – -C $TMPDIR
“`
解密完成后,我们就可以得到一个解密后的Payload目录,里面包含了解密后的.app文件。
三、总结
通过手动下载ipa包进行分发是一种比较常见的方式,而提取ipa包的原理是通过解密embedded.mobileprovision文件和Payload目录下的.app文件来得到解密后的ipa包。在实际操作中,我们可以使用第三方工具来进行解密,比如说iOS App Signer,它可以自动解密ipa包并重新签名。
一门APP证书制作工具(https://platform.yimenapp.com/)提供APP证书在线制作,支持苹果证书、安卓证书在线一键快捷制作。工具完全免费,注册成为一门APP开发者即可使用,全中文化云端APP证书工具。
一键制作IOS苹果证书,包含appstore上架证书、开发环境测试证书、ADhoc生产环境测试证书、在线生成P12开发者证书证书,P12推送证书、P8推送证书,快捷绑定UDID、自定义包名Bundle ID、在线获取描述文件;
一键制作安卓证书,支持自定义安卓包名、签名文件密码(storepass)、别名(alias)、别名密码(keypass)、公司/机构名称 (O)、部门 (OU)、国家/地区 (C)、省份 (ST)、城市 (L)、邮箱 (E)、以及安卓证书有效期。