前言:
IOS在打包内测的时候不能直接生成IPA文件丢给别人安装,导致测试很麻烦,想要安装IPA包有四个途径:
- 直接把测试设备(Iphone,Ipad等)插在电脑上,点击运行即可,对于小规模公司这种是最快,最方便的,但这对规模较大的公司或异地办公的团队很不友好;
- 企业签,打企业签需要企业开发者账号生产企业证书才可以,但是在中国能申请到企业账号的概率很低;
- TestFight,要提TestFight测试也需要苹果的审核,公测的时候用的比较多,对于开发初中期,这种方式也很不友好;
- 生成IPA丢给别人,借助工具安装Itools,AirDrop等)。
今天聊一聊怎么打出 IPA 包,上传到服务器,让别人通过网页下载进行内测。
第一步:打包项目,生成 IPA包;(注意,这里需要选择Development方式进行分发)
第二步:将ipa包放在服务器上,提供一个下载链接;(注意这里的服务器需要SSH认证,即:链接必须是https开始)
第三步:配置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><![CDATA[https://www.xxx.com/xxx.ipa]]></string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>xxx</string>
<key>bundle-version</key>
<string><![CDATA[1.0.0]]></string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string><![CDATA[xxx]]></string>
</dict>
</dict>
</array>
</dict>
</plist>
将该plist文件和之前打ipa包放在服务器的同一个目录下,生成链接。
第四步:编写html下载页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="Jerry Yang">
<meta name="Copyright" content="XRLmall">
<title>IOS内测-自定义网页下载ipa包</title>
</head>
<body>
<h3><a href="itms-services://?action=download-manifest&url=https://www.xxx.com/xxx.plist">
Install
</a></h3>
</body>
</html>
第五步:添加测试设备,登录苹果账号后台,在证书->设备一栏添加你要测试的设备的UDID(注意:个人账号一年内最多只能添加100个测试设备,UDID可以借助第三方软件获得,例如:蒲公英等)
第六步:用iPhone手机的Safari浏览器打开上面的html网页,点击Install进行下载安装。
如果提示“无法安装此app,因为无法验证其完整性”,那应该是证书的问题,重新打包上传就可以了,注意要选择Development方式进行分发。
环境:
Xcode:13.2.1