如果项目需要大规模测试(10+台设备),通过IDE直接安装的方式就不太可取了,最好的方式就是通过ad hoc provisioning profile
打包,然后导出ipa
包。一般来说,可以通过以下几种方式安装ipa,安装的前提都是首先把设备UDID添加到开发者证书,稍后会详细介绍这一步骤。
- 通过Xcode安装
首先连接设备,打开Window>Devices,选中设备,在Installed Apps下方有个加号,点击选择安装包安装。 - 通过iTunes安装
- 通过无线部署
其中通过无线部署是最方便的安装方式,可以自己搭建服务器,也可以使用fir.im进行部署,原理都是一样的。首先介绍如何生成ipa包。
添加 Devices
第一步是访问苹果开发者网站,将所有设备的UDID添加到证书中,可以通过以下几种方式获取UDID
- 使用iTunes
- 使用Xcode Devices工具
- 使用第三方工具,如firm.im/udid
添加发布证书
添加发布证书
在苹果开发者网站Provisioning Profiles
>Distribution
页面,点击加号添加,类型选择Distribution>Ad Hoc
选择一个App ID
选择一个App ID,没有的话在Identifier>App IDs处添加。
选择开发者
选择开发者,只有被选择的开发者才有权打包。
添加测试设备
选择测试设备,之前添加过的设备都会在这里显示,只有被选择的设备才可以安装应用。
生成证书
输入名称然后点击Generate
生成证书。
下载证书并导入 Xcode 以及 Xcode 设置
下载
通过双击下载好的证书将其安装到Xcode中。
设置Project
找到Project>Info>Configurations,然后点击加号添加配置,推荐命名为AdHoc
。
设置Targets
打开每个Target下的Build Settings页面,找到Code Signing Identity,修改AdHoc的证书修改为之前安装的证书,注意将Provisioning Profile下的AdHoc的值也修改为对应的profile。
修改Scheme
打开Product>Scheme>Edit Scheme,将Archive的Build Configuration设置为AdHoc
打包
接下来就可以点击Product>Archive打包了,建议先执行Clean和Build命令。打包之后选择Export导出ipa包,导出方式选择Save for Ad Hoc Deployment
,接下来填入ipa包路径,应用缩略图标网址和应用全尺寸图标网址,也可以之后更改这些值。导出的文件包括manifest.plist和ipa包,无线部署的需要用到这两个文件,其它安装方式只需要ipa文件。
下面介绍如何使用内部服务器部署安装包,使iOS设备可以在线安装。
无线部署
注意只能部署到内网(公司局域网)上,如果苹果公司发现开发者在外网部署adhoc的话会封号。
修改plist文件
上一部导出的manifest.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>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>{app package url}</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>{app display image url}</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>{app full size image url}</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>{bundle identifier}</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>{app title}</string>
</dict>
</dict>
</array>
</dict>
</plist>
根据实际情况修改ipa包链接和其它信息。
上传ipa包和plist文件
然后将ipa包和plist文件上传到服务器上,注意ipa包的路径要和manifest文件中填写的路径保持一致。
创建链接
无线部署的关键就在这个链接上,iOS设备通过点击这个链接即可安装ipa,这个链接如下所示
<a href="itms-services://?action=download-manifest&
url=https://example.com/manifest.plist">
点击安装
</a>
使用fir.im部署
使用fir.im部署就比较简单了,详细步骤可以访问官网。