无线设备(iPhone 和 iPad)的下载是要去 Apple stone 的。但是如果要在企业官网发布应用下载,Android 的其实很容易,就是 apk(Android Package)文件的 url 地址,访问即可下载,和 Windows 平台的 exe、zip 这种下载是一样的。但是 ios 不行,ios 无线设备的安装包格式为 ipa(iPhone Application),这个如果上传到服务器中,直接访问 url 是不起作用的,这个过程是很难说清楚的,但是原因很简单就是为了安全,苹果在这一点是做的非常好的。但是如果应用还没上架,要公测呢?本文带你了解如何在企业网站发布 ios 应用下载。
index.html 文件
下载页面其实非常容易,如果点击唤醒 Apple stone 是很简单的,但是要直接下载安装包,也就是信任模式安装,在导读中也已提到是不可以直接访问 ipa 文件的 url 下载的。所以要创建一个网页,内容是。
<script> window.location.href='itms-services://?action=download-manifest&url=https://域名/download/sjar.plist'; </script>
- <script>
- window.location.href='itms-services://?action=download-manifest&url=https://域名/download/sjar.plist';
- </script>
网页内容如此即可,存为 index.html,这个就是下载的落地页,或者叫引导页,懂我意思就行。但是建议把 index.html 放到一个单独的目录里,比如建立 download 目录,就是 https://域名/download,随后把 ipa、apk、plist 都放到 download 目录。
设定我的 ipa 文件名为 sjar.ipa,bundleID 是 com.shijianAIren.www,bundle version 是 1.0.0,软件名为测试,以此来参考配置下面的文件吧
ipa 文件
ipa 文件就是 ios 移动设备的安装包,这个没什么好说,但是需要注意的是 ipa 文件的文件名要和接下来将到的 plist 的文件名一致。比如 ipa 文件全名为:sjar.ipa,则 plist 的文件全名也要是 sjar.plist,文件名一致,文件全名包括了(文件名)+(.)+(文件扩展名[文件格式])。
plist 文件
plist(Property List)的中文意思就是属性列表,在 GNUstep 和 NeXTSTEP 里面是一种用来存储序列化后的对象的文件,属性列表文件的文件扩展名为.plist,因此通常被称为 plist 文件。 Plist 文件通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的 Mac OS 中是由资源分支提供的。
言归正传,讲讲这个 plist 文件。首先把代码贴出来吧,plist 文件名为sjar.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>https://域名/download/sjar.ipa【第一处】</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>needs-shine</key> <true/> <key>url</key> <string>https://域名/download/fullimg.png【第二处】</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <true/> <key>url</key> <string>https://域名/download/disimg.png【第三处】</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.shijianairen.www【第四处】</string> <key>bundle-version</key> <string>1.0.0【第五处】</string> <key>kind</key> <string>software</string> <key>subtitle</key> <string>install app</string> <key>title</key> <string>测试【第六处】</string> </dict> </dict> </array> </dict> </plist>
plist 文件修改讲解:
- 第一处 software-package 的 url,就是 ipa 的 url 绝对路径。
- 第二处 full-size-image 的 url,就是应用程序的图标,512*512 像素,注意是 png 格式,绝对路径。
- 第三处 display-image 的 url,就是下载和安装过程中的图标,57*57 像素,也是 png 格式,绝对路径。
- 第四处 bundle-identifier,就是应用程序的包标识符,和 Xcode 中指定的完全一样。
- 第五处 bundle-version,就是应用程序的包版本,也是在 Xcode 中指定的。
- 第六处 install app 的 title,就是应用程序名,软件名。
切记只修改这六处即可,别的不要动。并注意:plist 文件必须是 https 协议。关于 https 的部署可以参考文末的文章。
完成之后,确定一下这个结构:有两个应用 logo,一个是 512*512px,一个是 57*57px,一个下载的落地页,一个 ipa 的安装包,一个 sjar.plist 的属性列表(理解为配置文件)。当然不一定这些都在一个文件里面,但是涉及到的 url 一定要是绝对地址。
此时,使用 ios 移动设备访问 https://域名/download/index.html,即可下载(前提是开启了信任安装)。再配上一些应用发布的模板,或者找前端写一个。就算彻底完成了