IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)-》点击在线安装-》打开plist文件(本文中为ucab.plist文件)-》plist文件中存储有应用程序升级包的地址。(本文为:http://192.168.1.126:8088/netcrm/ucab.ipa),这个地址是在打包时填写的Application URL值。通过升级包地址访问升级包,提示安装升级。
分步介绍:
一、准备工作
1、打包用的企业级证书mobileprovision文件,证书制作在这里就不罗嗦了。
2、应用升级所需要的服务器端html文件。
     应用升级所需要的服务器端html文件,新建一个html文件(本文中为ucab.html),代码如下:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>企业通讯录</title>
  6. <script type="text/javascript">
  7. function openurl(url){
  8. window.self.location=url;
  9. }
  10. </script>
  11. </head>
  12. <style type="text/css">
  13. html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,
  14. fieldset,legend,input,button,textarea,select,p,blockquote,th,td,span,frame,iframe {margin:0;padding:0;}
  15. .outbox{ margin:0; width:100%; height:1260px;}
  16. .box02 {  margin: auto auto; width:524px; height:81px; text-align:center;}
  17. .button{ margin: 80px auto 0 auto; width:458px; height:107px;}
  18. </style>
  19. <body>
  20. <div class="outbox" style="border:1px solid  #dadfe3;" >
  21. <div class="box02" style=" margin-top:300px; width:650px; height:81px"><label>
  22. <font style="font-size: 50pt">企业通讯录</font></label></div>
  23. <div class="button" style="width: 666px; height: 152px" >
  24. <p align="center"><a href="#" style=" margin-top:650px;" target="_blank"><label onclick="openurl('itms-services://?action=download-manifest&url=http://192.168.1.126:8088/netcrm/ucab.plist');">
  25. <font style="font-size: 40pt">iOS 4.0以上在线安装</font></label></a><font style="font-size: 40pt"> </font> </div>
  26. </div>
  27. </body>
  28. </html>

复制代码

核心代码:

  1. "openurl('itms-services://?action=download-manifest&url=http://192.168.1.126:8088/netcrm/ucab.plist');"

复制代码

http://192.168.1.126:8088/netcrm/ucab.plist为打包生成的ucab.plist文件的Web访问路径。
二、应用程序打包
V1.0打包:
1、编译后打包 <ignore_js_op style="word-wrap: break-word;">
2、点击distribute <ignore_js_op style="word-wrap: break-word;">
3、选择Save for Enterprise or Ad-Hoc Deployment,点击下一步 <ignore_js_op style="word-wrap: break-word;">
4、选择打包用的企业级证书,点击下一步  <ignore_js_op style="word-wrap: break-word;">
5、打包应用命名,保存路径选择。选中Save for Enterprise Distribution。
填写Application URL值,Application URL值为打包好的应用ipa文件的web访问路径。
填写Title值,Title值为应用名称。
注意每次打升级包时,保存的ipa文件名称要与Application URL值中web访问路径指向的ipa文件名称一致。否则的话,升级的时候会找不到升级包。  <ignore_js_op style="word-wrap: break-word;">  填写完毕,点击Save保存。V1.0打包完毕。生成ucab.ipa,ucab.plist两个文件。
目前我们已有如下文件:
(1)、ucab.ipa
(2)、ucab.plist
(3)、ucab.html
将三个文件放到服务器端Web应用程序的同一目录下(本文中放到了服务器端应用netcrm的根目录web下),如果需要放到不同的目录,修改相应的文件访问路径即可。
至此在手机端浏览器中输入ucab.html的访问路径,本文为:http://192.168.1.126:8088/netcrm/ucab.html,即可访问安装该应用程序。效果图如下:
<ignore_js_op style="word-wrap: break-word;"> 
<ignore_js_op style="word-wrap: break-word;"> 
<ignore_js_op style="word-wrap: break-word;"> 
V1.1 打包步骤与V1.0打包步骤一致,命名时为与1.0区别可做以下改动:
<ignore_js_op style="word-wrap: break-word;">
打包好V1.1,V1.0两个版本后即可测试升级功能。
iphone手机端获取本地应用程序版本代码如下:
  1. NSString *nsstrLocalVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:@"CFBundleVersion"];

复制代码

将本地版本号与接口获取的服务器端保存的版本号进行比较,如需要升级则执行iphone手机端升级代码。
iphone手机端升级代码如下:

  1. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@<a href="http://192.168.1.126:8088/ucab.html">http://192.168.1.126:8088/ucab.html</a>]];

复制代码

执行该代码,通过手机端浏览器打开http://192.168.1.126:8088/ucab.html地址,进行应用程序安装,即可用新版本的应用程序替换旧版本的应用程序,完成应用程序升级功能。效果图与在手机端浏览器中输入ucab.html的访问路径,安装应用程序的效果图一致

IOS应用程序升级的更多相关文章

  1. (转)基于企业级证书的IOS应用打包升级功能介绍

    IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)->点击在线安装->打开plist文件(本文中为ucab.plist文件 ...

  2. 教程:如何减小iOS应用程序的大小?

    本文译自:Reducing the size of my App Q: 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速? A: 本文收集了一些减小程序安装包大小的相关技巧(当第一次下载和安装 ...

  3. 减小iOS应用程序的大小

    减小iOS应用程序的大小 本文译自:Reducing the size of my App Q: 怎样才能让我的程序安装包小一点,让程序的下载和安装更快速? A: 本文收集了一些减小程序安装包大小的相 ...

  4. 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】

    转的别人的 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成 ...

  5. iOS 应用程序生命周期

    开发应用程序都要了解其生命周期. 今天我们接触一下iOS应用程序的生命周期, iOS的入口在main.m文件: int main(int argc, char * argv[]) { @autorel ...

  6. [ios基础]IOS应用程序的生命周期问题

    —程序的生命周期         a.程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程         b.每一个IOS应用程序都包含一个UIApplication对象,IOS系统通过该U ...

  7. iOS应用程序的生命周期

    iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有app来运行,而你提供自己编写的代码来定制app的外观 ...

  8. iOS app 程序启动原理

    iOS app 程序启动原理 Info.plist: 常见设置     建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件, ...

  9. 发布iOS应用程序到苹果APP STORE完整流程

    参考:http://blog.csdn.net/mad1989/article/details/8167529(xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)) http ...

随机推荐

  1. Java中自定泛型方法

    泛型用到哪些集合:List Set Map List<String> list=new ArraList<String>(); list.add("美女") ...

  2. js实现页面悬浮框

    当滚动条下拉时,悬浮框位置不变,主要是 position:fixed;样式的作用. 当下拉到一定程度,接近footer时,我用js控制div消失,往上拉滚动条时又显示. <!DOCTYPE ht ...

  3. 完成《Java编程入门》初稿

    Java编程入门 现在的运维工程师不但要懂得集合网络.系统管理而且要和开发人员一起调试系统,社会上也需要"复合性"的运维人员,所以需要做运维的也要懂一些开发,知道软件系统接口的调试 ...

  4. 讲解DLL内容的比较详细的站点

    1.通过 Visual Studio 2008 用C语言创建和调用DLL : http://blog.chinaunix.net/uid-631975-id-116622.html 2.DLL(Dyn ...

  5. 解决error C2011: 'fd_set' : 'struct' type redefinition的方法

    http://www.cnblogs.com/ark-zhang/archive/2013/06/19/3144383.html   首先说明这个问题由于重复定义引起的编译错误. 先说明解决方法,然后 ...

  6. RegisterStartupScript和RegisterClientScriptBlock的区别

    1.  //注册到 <form> 尾部 ,HTML元素已加载完毕    this.Page.ClientScript.RegisterStartupScript(this.GetType( ...

  7. 小米、MIUI、sqlite3: not found--miui安装sqlite3

    以下为miui安装sqlite3的教程: 1.从AVD中将sqlite3导入到PC的D:\android目录下(AVD的版本需要和手机操作系统的版本相同). #adb pull system/xbin ...

  8. POJ C程序设计进阶 编程题#1:寻找下标

    编程题#1:寻找下标 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 已知一 ...

  9. Uva 1588 Kickdown

    这道题思路并不难想,在做题过程中主要遇到的困难有: 因为没有仔细的考虑边界情况,没有分析全面,导致因=没有取到而得不出正确结果,浪费的大量时间. 今后在做这类题目时,一定要先进行一个比较全面的分析+模 ...

  10. PHP-POSIX正则表达式函数

    1.ereg() 格式:ereg("条件",<原始字符串>) ereg()查找字符串,是严格区分大小写的 <?php $string="apples a ...