在苹果手机中,安装APP的正规途径是通过App Store,没有设备数量限制,相当于免费的无限签名。但是有的时候我们处于测试需要,还是需要绕过App Store直接安装ipa格式的APP。
在iPhone手机中,安装APP的正规途径是通过App Store;使用Apple开发者的签名证书,App可以没有设备数量限制安装在满足iOS最低版本要求的苹果手机上,相当于免费的无限签名(无限签)。但有的时候我们出于测试等需求场景,要绕过App Store直接安装ipa格式的APP。直接安装ipa格式的APP,主要有以下途径:
1、通过数据线连接Mac开发电脑安装
在XCode的开发环境下,可以通过数据线直接将没有上架的APP安装到iPhone手机上,用于调试和预览应用程序,安装的数量有限制,但这倒不是主要问题,关键是不方便,毕竟需要通过数据线让手机连接程序员的电脑。
2、通过Test Flight安装(TF签)
苹果手机里安装Test Flight这个软件,输入兑换码即可实现直接安装APP。Test Flight在App Store中的图标是一个电风扇的形状,如果你认为这个软件是给手机降温的,那就错了。这种安装方式也叫TF签,是苹果官方认可的分发模式,也是绕过App Store签名之外最稳定的途径,没有掉签之类的后顾之忧。
3、通过企业证书安装(企业签)
如果你安装的时候需要信任企业证书,那就是用了苹果企业签名。企业签名是使用企业开发者账号生成的企业证书进行签名,能够让应用不经过App Store,不经过苹果审核,直接安装在苹果手机上。 这种签名相对稳定,但是如果企业证书被吊销了,所有签名的APP也无法运行。
4、通过超级签名安装(超级签)
如果安装的时候不用信任证书,直接安装,那么有很大可能是用了超级签名。超级签名是使用个人开发者账号添加苹果设备的udid,实现真机测试,因为需要在苹果开发者后台绑定设备,所以掉签的几率比较大。
综上所述,还是走App Store安装APP是最简单稳定的,其中的上架步骤也可以通过一些设置项实现个性化展示,以合理规避一些应用市场的审核规则。
附:技术小知识
通过软件代码开发实现在苹果手机上直接安装ipa文件
如果在Safari中直接下载ipa文件,会空白一片,没有任何提示信息。直接安装ipa文件,可以通过在Safari的浏览器的网址中输入以下指令实现:
itms-services://?action=download-manifest&url=https://yanyubao.tseo.cn/app/test_ipa/123.html
对应的网址必须是https开头的,如果是http开头的,不会被使用。网址中的内容为xml格式,文件类型为plist(XCode开发环境中的一种信息交换格式)。内容示例如下:
<?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>https://yanyubao.tseo.cn/e486c0d2-723c-4bab-b530-46fb6d858ff5.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://yanyubao.tseo.cn/image.57x57.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://yanyubao.tseo.cn/image.512x512.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>cn.abot.app.yanyubao</string>
<key>bundle-version</key>
<string>3.2.1</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>延誉宝</string>
</dict>
</dict>
</array>
</dict>
</plist>
如果将这个文件的扩展名保存为“.plist”,那么需要在Apache或者Nginx、IIS中设置plist的MIME格式为XML类型可以被Safari浏览器识别。