1.需要一个html文件,引导下载用户在线安装ipa

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>一键安装掌上综调iPhone版</title>
  </head>
  
  <body>
        <a href='itms-services://?action=download-manifest&url=https://.177.4.242/ios/d.plist'>一键安装掌上综调iPhone版</a>
  </body>
</html>

2. 上文中的d.plist文件内容如下,其实它是一个XML文件,有关plist文件,请自行查阅google

<?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://.177.4.242/download?attachId=022DB5EAF88A57B175D24060DCD1BA70</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://.177.4.242/ios/icon.png</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>full-size-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://.177.4.242/ios/icon.png</string>
               </dict>
           </array><key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>com.ccssoft.mopclient.chongqing</string>
               <key>bundle-version</key>
               <string>1.0.0</string>
               <key>kind</key>
               <string>software</string>
               <key>subtitle</key>
               <string>掌上综调</string>
               <key>title</key>
               <string>掌上综调</string>
           </dict>
       </dict>
   </array>
</dict>
</plist>

上面2中的http://.177.4.242/download?attachId=022DB5EAF88A57B175D24060DCD1BA70 这是ipa包所在的网络地址

3.自行找一个icon.png放在上面两个文件的同一个目录,此图片用作在iphone上显示程序图标。 http://.177.4.242/ios/icon.png

4.使用iphone safari浏览器,浏览http://.177.4.242/ios/d.html文件,即可安装了。简单吧。

iOS 7.1下itms-services在线安装失败的解决方法

iOS 7.1正式版发布了,之前使用itms-services://URL方式在线安装ipa文件的方法却失效了,点击的时候报错为:“无法安装应用程序,因xxx.com的证书无效”,这应该怎么解决呢?

其实iOS 7.1修改了manifest.plist文件的访问协议,之前可以通过http协议访问,在iOS 7.1之后必须使用https协议方式访问。

比如之前的链接代码为:

itms-services://?action=download-manifest&url=http://example.com/manifest.plist

在iOS 7.1之后,就需要修改为:

itms-services://?action=download-manifest&url=https://example.com/manifest.plist

需要一个SSL证书才能够实现在线安装ipa文件的功能。

//-  延伸: 关于https设置 -

1.upload your app.plist to dropbox

2.get shared link of app.plist, like https://www.dropbox.com/s/qgknrfngaxazm38/app.plist

3.replace www.dropbox.com with dl.dropboxusercontent.com in the link, like https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist

4.write your download.html like <a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>

5.upload the download.html to dropbox

6.get shared link of download.html, like https://www.dropbox.com/s/gnoctp7n9g0l3hx/download.html

7.replace www.dropbox.com with dl.dropboxusercontent.com in the second link as well, like https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html

Now, visit https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html in your device, you can install the app like before.

这个是通过上传dropbox来解决,事实上,只要找个可以以https方式共享外链的网盘,把plist文件上传就可以了!

上述方法通过测试可以解决提示“证书无效”的问题。下面介绍下步骤:

1、进入dropbox注册一个账号:https://www.dropbox.com/  ,并根据官网提示安装dropbox

2、安装成功后会自动在桌面上的名为用户名的文件夹(WIN7)建立一个名为Dropbox的文件夹。将之前做好的plist文件到此文件夹中

3、plist文件有蓝色图标表示正在同步,变为绿色图标表示完成同步。在plist文件上点击右键,选择“共享Dropbox链接”,会在状态栏中提示已到剪贴板

4、在记事本中粘贴出来,链接地址应为类似于:https://www.dropbox.com/s/qgknrfngaxazm38/app.plist

5、将这个链接中www.dropbox.com替换为dl.dropboxusercontent.com,结果类似于:https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist

6、把这个链接替换itms:services://后url的参数,类似于:<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>

完毕。

参考:http://lzw.me/a/itms-services-ios-install-ipa.html

黄聪:通过 itms:services://? 在线安装ipa ,跨过appstore的更多相关文章

  1. 通过 itms:services://? 在线安装ipa ,跨过app-store

    1.需要一个html文件,引导下载用户在线安装ipa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&quo ...

  2. 在线安装ipa,超链接下载ipa

    在线安装ipa包其实是OTA实现,先粘一下OTA解释 OTA OTA即Over-the-Air,简单来说就是通过无线的方式发送指令给设备,具体针对iOS的设备,比如iphone .ipad等,让开发者 ...

  3. 黄聪:WebBrowser执行和安装jQuery脚本(IEBrowse)

    上一文章说明了如何让 js 脚本访问 .NET 中的类, 这次希望给大家说明一下在任意页面中安装 jQuery 脚本, 并操作页面上的元素. 其实在第一篇关于 IEBrowser 的文章当中, 已经有 ...

  4. 黄聪:《跟黄聪学WordPress主题开发》

    又一个作品完成!<跟黄聪学Wordpress主题开发>,国内最好的Wordpress主题模版开发视频教程!! 目录预览: WordPress官方源文件层式结构讲解 WordPress数据库 ...

  5. IOS在线安装App

    在越狱设备上可以安装,如果设备不越狱也想安装,就要企业发布权限了,可惜我没有,所以不能测试了! 1.创建ipa及plist文件: XCode菜单栏->Product->Archive-&g ...

  6. 黄聪:《跟黄聪学WordPress插件开发》

    续<跟黄聪学WordPress主题开发>之后,又一个作品完成!<跟黄聪学Wordpress插件开发>,国内最好的Wordpress插件开发视频教程!! 目录预览: WordPr ...

  7. iOS客户端的在线安装和更新——针对ADHoc证书

    这篇文章纯给自己留个备份,所以对AdHoc证书内部分发和对iOS客户端开发不了解的请直接无视. 一般在iOS游戏或应用开发过程中,正式发布到App Store之前,都需要内部的测试,客户端的安装是个不 ...

  8. 黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(五) Data Access Application Block 企业库数据库访问模块通过抽象工厂模式,允许用户 ...

  9. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (初级) 企业库加密应用程序模块提供了2种方 ...

随机推荐

  1. js里面关于日期转换的问题

    我们拿到一个日期字符串:"2017-09-03",我们用new Date("2017-09-03")去转换成日期格式的时候,发现在火狐会报错,是因为火狐不支持这 ...

  2. 漏洞复现——httpd换行解析漏洞

    漏洞原理: 在解析php文件时,1.php\x0A这种格式的文件将会被认为php文件解析,进而可以绕过一些服务器的安全策略. 漏洞版本: 2.4.0~2.4.29 漏洞复现: 复现该漏洞是利用dock ...

  3. 2018-icpc沈阳-G-思维

    http://codeforces.com/gym/101955/problem/G 给出一个6000*6000的坐标系,有四种操作,一是加入放置一个点到某个空格子上,二是从某个有点的格子移走一个点, ...

  4. Quartz的基本使用之入门(2.3.0版本)

    一.Quartz可以用来做什么 Quartz是一个强大任务调度框架,我工作时候会在这些情况下使用到quartz框架,当然还有很多的应用场景,在这里只列举2个实际用到的 餐厅系统会在每周四晚上的22点自 ...

  5. 如何在Linux上清理内存缓存、缓冲与交换空间

    如何在Linux上清理内存缓存.缓冲与交换空间 与其他类型的操作系统一样,GNU/Linux已经有效的实现了内存管理,甚至更加优秀.但是如果任何进程正在吃光你的内存,并且你想清理它,Linux提供了一 ...

  6. python,接口自动化有几大类

    python自动化: 1.接口测试 2.python 3.接口自动化框架 4.前端 html js css 5.web端的自动化 6.移动端 ios.Android 7.面试.简历 接口自动化(要会写 ...

  7. Cortex-M3的一些概念

    [工作模式] 线程模式(Thread mode):处理器复位或异常退出时为此模式.此模式下的代码可以是特权代码也可以是用户代码,通过CONTROL[0]控制.处理模式(Handler mode):出现 ...

  8. Java方法 传值方式

    这个问题是面试的时候经常会问到的一道题吧?这次做项目的过程中,其中一个同学因为无用了,导致了一个bug,不过是在提测前啦!本来我想借着这次机会分享一下java方法传参的机制,但是经过几天的学习,了解, ...

  9. 后台获取用户登录token 和获取前端参数方法

    //获取request请求中所有参数 Enumeration<String> names = request.getParameterNames(); HashMap<String, ...

  10. Python全栈之路----Python2与Python3

    金角大王Alex  python 之路,致那些年,我们依然没搞明白的编码 python2与python3的区别 py2 str = bytes 为什么有bytes? 是因为要表示图片.视频等二进制格式 ...