现在的位置: 首页 > 综合 > 正文

不通过App Store,在iOS设备上直接安装应用程序

2018年01月08日 ⁄ 综合 ⁄ 共 3100字 ⁄ 字号 评论关闭

一)

今天在iOS设备上安装天翼云存储app,在safari上直接打开http://cloud.189.cn/wap/index.jsp,点击“点击免费安装”,如下图:

神奇的事情发生了,设备上直接下载app然后安装了,不需要经过app stroe。安装完后第一次点击app打开,会提示“是否打开distribution”之类的。去app store搜索一番,发现没有“天翼云存储”这个app。

这一下可被震惊了,可能孤陋寡闻,ios的app还可以用这种方式来安装,那以后可不方便了?

好奇心来了,研究了一下,发现点击打开的链接如下:

itms-services:///?action=download-manifest&url=http://cloud.189.cn/download/client/iOS/cloud189.plist?v=D1.0.6

google了一番,终于有些眉目了,打开这个地址:http://cloud.189.cn/download/client/iOS/cloud189.plist,会看到一个plist文件,内容如下:

[html] view
plain
copy

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
  3. <plist version="1.0">  
  4. <dict>  
  5.     <key>items</key>  
  6.     <array>  
  7.         <dict>  
  8.             <key>assets</key>  
  9.             <array>  
  10.                 <dict>  
  11.                     <key>kind</key>  
  12.                     <string>software-package</string>  
  13.                     <key>url</key>  
  14.                     <string>http://cloud.189.cn/download/client/iOS/cloud189_1.1.1.ipa</string>  
  15.                 </dict>  
  16.             </array>  
  17.             <key>metadata</key>  
  18.             <dict>  
  19.                 <key>bundle-identifier</key>  
  20.                 <string>com.21cn.cloud189</string>  
  21.                 <key>bundle-version</key>  
  22.                 <string>1.1.1</string>  
  23.                 <key>kind</key>  
  24.                 <string>software</string>  
  25.                 <key>title</key>  
  26.                 <string>天翼云存储</string>  
  27.             </dict>  
  28.         </dict>  
  29.     </array>  
  30. </dict>  
  31. </plist>  

ipa放在这个位置:

http://cloud.189.cn/download/client/iOS/cloud189_1.1.1.ipa

这种安装方式是利用apple推荐的使用企业证书签名app的部署方式来安装程序,天翼云存储就是利用这样的方式,绕过了app store,直接在ios设备上安装,严格来说其实是不符合apple的相关规定的。
再深入了解,除了企业证书签名的app,用普通签名方式的app,在打包profile中指定的100个设备上也可以用这种方式安装。呵呵,这可好了,这下子就可以解决发布未经过审核app或者内部测试app的问题了,事不宜迟,马上动手测试。

后续:

经过测试,个人证书签名是可以按这种方式发布app的,具体步骤看这里:

企业级安装应用的方法

二)

https://testflightapp.com

这个网站可以帮你实现。我一直在用,很好用。
缺点:仅能提供100人 


三)

 1、已经越狱
iPhone、iPad 设备,当通过其自带的 safari 浏览器访问 ipa 应用下载网站时,利用 itms-services 协议,可以一键安装 ipa 文件的 iOS 应用,例如:


<a href="itms-services://?action=download-manifest&url=http://blog.s135.com/demo/ios/jhsmyt.plist">通过越狱的iOS设备浏览器访问本页,点这儿一键安装APP应用。</a>





  2、jhsmyt.plist 的内容如下:
  blog.s135.com/demo/ios/jhsmyt.plist

  需要修改之处:

  点击在新窗口中浏览此图片




  3、如果通过 iPhone、iPad 上的二维码扫描软件,还可以实现类似 Android 系统的扫描二维码下载 app 应用:

  点击在新窗口中浏览此图片

  二维码内的网址地址为 http://blog.s135.com/demo/ios/autodown.htm 内容如下:
  1. <html>  
  2. <head>  
  3. <title>iOS 越狱版安装</title>  
  4. <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">  
  5. <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />  
  6. <script type="text/javascript">  
  7. function doLocation(url)  
  8. {  
  9.   var a = document.createElement("a");  
  10.   if(!a.click) {  
  11.     window.location = url;  
  12.     return;  
  13.   }  
  14.   a.setAttribute("href", url);  
  15.   a.style.display = "none";  
  16.   document.body.appendChild(a);  
  17.   a.click();  
  18. }  
  19. </script>  
  20. </head>  
  21. <body                >  
  22. <script type="text/javascript">  
  23. doLocation('itms-services://?action=download-manifest&url=http://blog.s135.com/demo/ios/jhsmyt.plist');  
  24. </script>  
  25. </body>  
  26. </html>  





  4、完整的 Demo 示例:

  http://blog.s135.com/demo/ios/

  点击在新窗口中浏览此图片

  点击在新窗口中浏览此图片

抱歉!评论已关闭.