在默认的情况下,IIS是无法通过网络上来直接下载安卓.apk和苹果.ipa文件的,现本站分享给大家解决办法以及原因。
因为IIS的默认MIME类型里没有.apk和.ipa的文件,所以无法通过网络直接下载。
解决办法:既然.apk .ipa无法下载是因为没有MIME,那么添加一个MIME类型就可以了。
苹果手机端应用,如果发布的到Appstore上,往往比较复杂,周期也比较长,Over-the-Air是Apple在 iOS4 中新加的一项技术,目的是让开发者能够脱离Appstore,实现从自己的服务器下载并安装iOS应用。简单地说,就是用户只需要在Safari中点开一条链接,就能直接在主界面中安装App。
在高版本的IOS上,plist必须要部署到https服务器上,才能正常访问。下面用示例来介绍如何脱离AppStore来安装IPA应用。
1 xcode打包ipa(app.ipa)
并上传到可以公网访问网络上,例如 http://yourwebsite.com/ipa/app.ipa可以访问,如果是IIS服务器,那么需要配置mime类型支持.ipa下载,否则会提示错误。
打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性;
单击MIME类型下的“MIME类型”按钮,打开MIME类型设置窗口;
单击“新建”,建立新的MIME类型;
扩展名是:.apk MIMI类型是:application/vnd.android.package-archive
扩展名是:.ipa MIMI类型是:application/iphone
配置好后,IIS重启。配置成功再次访问网址,会提示下载:
2 编写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>http://yourwebsite.com/ipa/app.ipa</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.aruistar.cmcapp</string> <key>bundle-version</key> <string>1.0</string> <key>kind</key> <string>software</string> <key>title</key> <string>cmcapp</string> </dict> </dict> </array> </dict> </plist>
plist文件必须放到https服务上,自己没有架设,可以上传到github上进行处理。plist中注意<string>http://yourwebsite.com/ipa/app.ipa</string>的配置。
2 创建一个ipainstall.html的页面,代码如下:
<!DOCTYPE html> <html > <head> <title>ipa installed on the air</title> <meta charset="UTF-8"> <style type="text/css"> body{ padding: 0; margin: 0; } table { width: 100%; border: solid 1px #999; border-collapse:collapse; } table tr,table td { border: solid 1px #999; border-collapse:collapse; } </style> </head> <body> <div style="font-size:70px; text-align:center; background-color:#999;height:160px;line-height:160px;"> 无线安装iOS应用 </div> <div style="font-size:60px; text-align:center;"> <table> <tr> <td>序号</td> <td>应用名称</td> <td>备注</td> </tr> <tr> <td>1</td> <td><a href="itms-services://?action=download-manifest&url=https://raw.githubusercontent.com/yourgithub/iosapp/master/manifest.plist">内部市场化</a></td> <td>IOS</td> </tr> <table> </div> </body> </html>
这里注意的是,itms-services://?action=download-manifest&url不是默认的github上的网址,必须是原始文件的地址,一般是raw.githubusercontent.com开头的。
这个网址,必须用苹果safari进行访问才能解析:
安装成功后,打开app即可操作了:
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛