苹果ipa包发布在IIS环境记录

Posted 娃都会打酱油了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果ipa包发布在IIS环境记录相关的知识,希望对你有一定的参考价值。

项目以前ios打包都是发布到了蒲公英上,不过最近蒲公英突然升级,之前的发布记录全都没了不说,再次上传居然没有公开选项了,也就是说用户每次下载安装都需要输入一个预设密码,最奇葩的是你连接中包含了密码也没用,打开连接时没密码,点安装却提示你要输入密码,真是我勒个去……

IOS开发提出实在不行可以打ipa包,并给我发了一个部署方式链接,乖乖,原来IOS也可以像安卓那样打个独立包的,涨知识了,只是不像apk那样可以直接下载,而是需要通过itms-services方式下载。

让客户先准备好https域名,原本打算让客户将证书装在IIS服务上的,结果客户来了个高难度操作,证书装在了代理服务器上(其实这才是Linux运维的常规操作)。

将打包需要的两个图片放置在IIS站点中,测试可以访问后,苹果开发开始打包,并将最终包发给客户,不过与链接不同的是,除了manifest.plist文件,还多了另外两个.plist文件,也不知道是干嘛用的,不过不管他,都让客户放到了图片同级目录。

接下来就是用手机测试,浏览器中可以打开下载地址,但点击下载时,却提示无法打开xxx(xxx是域名),见了鬼了,浏览器可以成功访问这个域名的,为啥下载却提示无法打开呢?

不知道为啥,那就只能乱猜,首先想到,之前apk包发布时,因为IIS的MIME类型设置中没有.apk,然后下载就会报404错误,是不是这个问题了,让客户在MIME类型中添加了.ipa,对应类型为application/octet-stream,试了下直接地址访问ipa,是可以下载,但通过链接还是提示无法打开xxx……

一条路走不通,那再走其它路,因为想到证书是直接安装在代理服务器上的,那是不是因为这问题呢?首先让客户确认下服务器是否可以访问https域名,客户回复不行,那妥妥的必须让服务器先能访问https域名才行啊!

等了一个小时,客户那边搞定了服务器访问https域名的问题,结果手机还是提示无法打开xxx,这打脸的厉害了,哎,这究竟是什么地方出错了呢?又折腾了一段时间,偶然间下载地址发现

href="itms-services:///?action=download-manifest&url=https://域名/IosAppFile/manifest.plist"

下载内容是.plist,不是直接下载的.ipa,因为是通过代理服务器访问的,那.plist必须能够被访问才行啊,果断在MIME类型中添加了.plist,对应类型为text/xml,safari浏览器终于不再提示信息,而是开始下载并安装ipa包了,不容易啊……

以上是关于苹果ipa包发布在IIS环境记录的主要内容,如果未能解决你的问题,请参考以下文章

苹果怎么安装ipa文件

ipa安装包如何修改非中文

解决上传 ipa 到苹果商店后无法构建版本的问题

把app(apk和ipa文件)安装包放在服务器上供用户下方法

把app(apk和ipa文件)安装包放在服务器上供用户下方法

ios打包成的ipa包 怎样让其他人都可以安装