越狱iOS设备利用itms-services协议,实现Safari一键安装IPA
2013-10-30 16:31
786 查看
利用MobileInstallation实现IPA程序安装后,最近有网友问起同步推、91等在线一键安装APP的实现,于是这两天抽了时间研究了一下。一开始以为可以通过调用MobileInstallation Framework来安装,仔细想想后,实在不可能通过一网页调用到系统级文件,更别说调用系统私有库里面的方法来安装。最后只好从同步推等网站入手。
此处先描述一下同步推在线一键安装的流程:
先用iPhone上的Safari打开同步推,可以看到
在线安装的按钮,同时网站也给出了一键安装的条件:
安装要求:已越狱,并安装了appsync!如下图示:
点击
在线安装后,弹出一个UIAlertView,提示
“tui.tongbu.com”要安装“同步推1.12(需越狱)online”
点击弹出对话框的
安装后,系统自动退回桌面,这时可以看到同步推开始下载并自动安装。
以上便是同步推在线一键安装的基本操作流程,不难看出,关键代码应该是在点击
在线安装后,网站执行了某个方法后弹出安装提示框。查看网页源代码可以看到
在线安装这个位置代码如下:
1 2 | <a style=" top:0px; left:385px;" class="online" href="javascript:void(0);" title="同步推" lurl="http://t.tongbu.com/tbtui/tbtui_v1.12.ipa" onclick="return install(this);">点此安装</a> |
1 23 | install = function(_target) { if (lDGyJ1 == 0) { return tbapi_autodl(_target); } else { var gjH_kaqzV1 = "\x68\x74\x74\x70\x3a\x2f\x2f\x73\x65\x72\x76\x65\x72\x2e\x74\x6f\x6e\x67\x62\x75\x2e\x63\x6f\x6d\x2f\x63\x6c\x6f\x75\x64\x2f\x64\x6f\x77\x6e\x61\x70\x70\x2e\x61\x73\x70\x78"; if (request("\x63\x68\x61\x6e\x6e\x65\x6c") != null) { gjH_kaqzV1 = gjH_kaqzV1 + "\x3f\x63\x68\x61\x6e\x6e\x65\x6c\x3d" + request("\x63\x68\x61\x6e\x6e\x65\x6c") }; $('\x23\x64\x6f\x77\x6e\x46\x72\x61\x6d\x65')["\x61\x74\x74\x72"]("\x73\x72\x63", gjH_kaqzV1); return false; } } |
1 23 | install = function(_target) { if (lDGyJ1 == 0) { return tbapi_autodl(_target); } else { var gjH_kaqzV1 = http://server.tongbu.com/cloud/downapp.aspx; if (request(channel) != null) { gjH_kaqzV1 = gjH_kaqzV1 + ?channel= + request(channel) }; $(#downFrame)[attr](src, gjH_kaqzV1); return false; } } |
lDGyJ1是什么呢?往前一点有这么一段代码:
1 23 | var lDGyJ1 = 0; var zfd2 = navigator[userAgent][toLowerCase](); if (zfd2[indexOf](iphone) > 0 || zfd2[indexOf](ipod) > 0 ||zfd2[indexOf](ipad) > 0 || zfd2[indexOf](symbianos) > 0 || zfd2[indexOf](ios) > 0) { lDGyJ1 = 1; } |
lDGyJ1来标记当前浏览器是否为iOS设备。
在
install方法中,当
lDGyJ1不为0时(即当然为iOS设备),则跳转至:
http://server.tongbu.com/cloud/downapp.aspx?channel=channel
在浏览器输入上述网址,发现又跳转到:
itms-services://?action=download-manifest&url=http://tui.tongbu.com/channel/tbtui_v1.12_online.plist
上述地址正是一键安装玄机所在,而核心则是itms-services协议跟plist配置文件。
itms-services协议实际上常用于iOS企业应用的无线部署,详见这里!
plist配置文件实为一个xml清单文件,其内容大概如下:
1 23 | <?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://t.tongbu.com/tbtui/channel/tbtui_v1.12_online.ipa</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <true/> <key>url</key> <string>http://www.tongbu.com/logo/tui48.png</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.tongbu.tbtui</string> <key>bundle-version</key> <string>1.12</string> <key>kind</key> <string>software</string> <key>subtitle</key> <string>同步网络</string> <key>title</key> <string>同步推1.12(需越狱)online</string> </dict> </dict> </array> </dict> </plist> |
<key>assets里两个url,即software-package和display-image的URL,前者是所要安装的IPA地址,后者是安装时桌面显示的图标。
<key>metadata里主要修改bundle-identifier和bundle-version,具体是什么就不用介绍了,但是要注意一定要跟所安装的IPA包内容一致,不然无法安装成功。另外可以修改title和subtitle,定制安装时弹出框的内容。
以上内容纯属学习研究,您可以随意地转载本站的文章,但须注明来源及本站链接,不可以将本站文章商业化使用,或者修改、转换或以本作品为基础进行创作。
版权所有 © 2012 转载本站文章请注明:转载自Kryhear
相关文章推荐
- 越狱iOS设备利用itms-services协议,实现Safari一键安装IPA
- 已经越狱的 iPhone、iPad 设备,当通过其自带的 safari 浏览器访问 ipa 应用下载网站时,利用 itms-services 协议,可以一键安装 ipa 文件的 iOS 应用
- shell脚本实现ipa一键安装(itms-services协议)
- shell脚本实现ipa一键安装(itms-services协议)
- itms-services协议:跳转网页部署及PHP动态生成 iOS渠道包IPA一键安装之plist地址
- iOS 实现itms-services协议安装ipa
- shell脚本实现ipa一键安装(itms-services协议)
- itms-services协议:跳转网页部署及PHP动态生成 iOS渠道包IPA一键安装之plist
- 越狱iOS设备实现IPA的安装[ZT]
- 利用IOS开发证书给未越狱的ios设备安装任意ipa
- iOS中未越狱的iPhone、iPad通过网址实现一键安装ipa格式的APP应用
- ios实现itms-services协议企业内发布或者越狱发布
- iOS通itms-services://协议安装ipa,省去https环境的搭建
- 如何在未越狱的iOS 设备上安装 ipa
- 越狱的 iPhone、iPad 通过网站实现一键安装 ipa 格式的 APP 应用
- 越狱的 iPhone、iPad 通过网站实现一键安装 ipa 格式的 APP 应用
- 越狱的iPhone、iPad 通过网站实现一键安装ipa格式的APP应用
- IPA部署:越狱的 iPhone、iPad 通过网站实现一键安装 ipa 格式的APP 应用
- 利用 itms-services 协议,通过网站来发布ipa应用的一些问题
- 如何打包供一键安装及越狱设备使用的ipa