LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

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

admin
2014年11月27日 2:44 本文热度 15746

今天在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文件,内容如下:






  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的,具体步骤看这里:


http://blog.csdn.net/sing_sing/article/details/7497794




最新的更新请看这里:


iOS 7.1使用企业应用部署方式无法安装app(2014-09-13更新:dropbox被墙后的解决方案)


http://blog.csdn.net/sing_sing/article/details/23662657


该文章在 2014/11/27 2:44:31 编辑过

全部评论1

admin
2014年11月27日 2:46
iOS客户端的在线安装和更新——针对ADHoc证书 这篇文章纯给自己留个备份,所以对AdHoc证书内部分发和对iOS客户端开发不了解的请直接无视。 一般在iOS游戏或应用开发过程中,正式发布到App Store之前,都需要内部的测试,客户端的安装是个不大不小的问题。苹果提供了AdHoc的证书(普通版可以装100台设备,企业版无限),登记设备号的即可通过iTunes或者无线网络安装使用AdHoc证书的App。具体不多赘述。 参考资料: http://www.alexcurylo.com/blog/2010/08/27/wireless-ad-hoc-distribution/ http://www.hanchorllc.com/2010/08/24/introducing-ios-beta-builder/ 之前有用过一款产品叫HockeyApp(http://hockeyapp.net/),帮助实现内部的分发和安装,支持在线安装、检测更新,非常方便,简单分析了一下其原理: 1. 服务端提供API供客户端获取最近版本信息,参考如下: https://sdk.hockeyapp.net/api/2/apps/565b9262a3913bb1123c71ba6575e07b?format=json&udid=d2134514a9c016fbd016a0815f1b3f41d9f38c82&sdk=HockeySDK&sdk_version=2.5.4b1&uuid=87dcb0e9981f34f6ad998590087fc554&app_version=4.2.0.12100902&os=iOS&os_version=6.0&device=iPhone3%2C1&lang=zh-Hans&first_start_at=10%2F09%2F2012&usage_time=27300 [ , , , , , , , , , , , ] 2. 客户端根据版本列表判断是不是最新版本,和是不是要强制更新,如果需要更新,可以类似与HockeyAPP内嵌一个网页显示版本信息,点击更新按钮后,访问服务端的下载更新包的API。 网页更新链接代码如下: <a href=itms-services://?action=download-manifest&url=https://sdk.hockeyapp.net/api/2/apps/565b9262a3913bb1123c71ba6575e07b?format=plist&udid=d2134514a9c016fbd016a0815f1b3f41d9f38c82>Tap Here to Update</a> 3. 服务端提供下载更新包的API,传入用户设备号和请求的版本号参数,返回一个manifest.plist文件,本质是一个XML,包含更新包描述信息,参考如下: https://sdk.hockeyapp.net/api/2/apps/565b9262a3913bb1123c71ba6575e07b?format=plist&udid=d2134514a9c016fbd016a0815f1b3f41d9f38c82 <?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://sdk.hockeyapp.net/api/2/apps/565b9262a3913bb1123c71ba6575e07b?format=ipa&amp;udid=d2134514a9c016fbd016a0815f1b3f41d9f38c82</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <false /> <key>url</key> <string>https://sdk.hockeyapp.net/api/2/apps/565b9262a3913bb1123c71ba6575e07b?format=png&amp;udid=d2134514a9c016fbd016a0815f1b3f41d9f38c82</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.idfsoft.idfCity</string> <key>bundle-version</key> <string>4.2.1.12101102</string> <key>subtitle</key> <string>4.2.1 (4.2.1.12101102)</string> <key>title</key> <string>Metal Nation</string> <key>kind</key> <string>software</string> </dict> </dict> </array> </dict> </plist> 其中software-package对应的Url为ipa文件下载地址,其中display-image对应的Url为App的图标图片URL 5. 后台管理中,需要增加页面让用户可以上传最新的ipa文件和输入版本更新信息,其中ipa文件的解析逻辑如下: 将ipa文件作为zip文件解压缩 解压后,读取根目录下的Info.plist文件,是一个XML格式文件 读取CFBundleShortVersionString节点,或得版本号简写 读取CFBundleVersion获取版本号 读取CFBundleIdentifier获取唯一编号 读取CFBundleDisplayName获取名称 保存这些信息到数据库中,在生成manifest.plist的API中用以显示相应数据。 基本上就这样。 该评论在 2014/11/27 2:46:10 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-2  粤公网安备44030602007207号