编辑
使用Adhoc方式打包iOS应用
本文访问次数:0
  1. 1. 添加 Devices
  2. 2. 添加发布证书
    1. 2.1. 添加发布证书
    2. 2.2. 选择一个App ID
    3. 2.3. 选择开发者
    4. 2.4. 添加测试设备
    5. 2.5. 生成证书
  3. 3. 下载证书并导入 Xcode 以及 Xcode 设置
    1. 3.1. 下载
    2. 3.2. 设置Project
    3. 3.3. 设置Targets
    4. 3.4. 修改Scheme
    5. 3.5. 打包
  4. 4. 无线部署
    1. 4.1. 修改plist文件
    2. 4.2. 上传ipa包和plist文件
    3. 4.3. 创建链接
  5. 5. 使用fir.im部署

如果项目需要大规模测试(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&amp;
    url=https://example.com/manifest.plist">
    点击安装
</a>

使用fir.im部署

使用fir.im部署就比较简单了,详细步骤可以访问官网

没有任何评论