使用Xcode发布iOS-ad-hoc测试版本
必要准备
开发者账号(不需要企业级别的开发账号,公司级别的也可以),Xcode
证书创建



下载证书

双击添加到钥匙串:

双击它,设置永久信任:

填写 mac 密码更新后就 OK 啦。
App ID 创建

添加好你的测试用户 iPhone X 的 uuid

创建 Ad Hoc 类型的描述文件


选择你刚创建的证书:

勾选想要测试的 iPhone 手机:

给描述文件起个名字:

下载到本地:

添加到 Xcode
打开你的 Xcode,双击刚下载的描述文件,啥都没发生就说明 Xcode 添加成功了。
打包分发

点击 Distribute App
分发 App:

选择 Ad hoc 模式:

下一步,一定要勾选第三项:

下面重点来了:

上面四项分别为:
- 你要打包项目所起的 App 名称
- ipa 包下载地址(必须为 https)
- 在线图片地址 57*57(必须为 https)
- 在线图片地址 512*512(必须为 https)
下面选择手动设置签名:

选择刚生成的证书和描述文件:

然后点击下一步坐等:

最后需要输一次电脑开机密码,然后导出:

导出文件有这些:
然后把 manifest.plist
xxx.ipa
包以及两张 app 的 png 图片上传到服务器就好了:

最后在 iPhone 的 Safari 上输入下面的模板链接就能下载到测试手机上了:
1 | itms-services://?action=download-manifest&url=你的服务器https地址/manifest.plist |
可能遇到的问题
如果你访问上面地址,在确认地址无误的情况下 Safari 并没有下载,原因可能是服务器没有开启针对 .plist
和 .ipa
文件的访问识别。
如何判断为此种情况了?以 IIS 为例:
直接在浏览器输入你的 ipa 下载地址 https:XXX/yyt_test.ipa
出现下面类似截图:

就说明此文件类型没有配置 MIME 类型。我们去 IIS 管理器配置下就 OK 了:

选择添加

添加 .ipa 文件的 MIME:
文件扩展名:**.ipa**
MIME 类型:application/octet-stream.ipa

添加 .plist 文件的 MIME:
文件扩展名:**.plist**
MIME 类型:text/xml

添加完毕后再次访问,应该就 OK 了。