zoukankan      html  css  js  c++  java
  • (转)基于企业级证书的IOS应用打包升级功能介绍

    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),代码如下:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>企业通讯录</title>
    <script type="text/javascript">
                    function openurl(url){
                            window.self.location=url;
                    }
            </script>
    </head>
    <style type="text/css">
    html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,
    fieldset,legend,input,button,textarea,select,p,blockquote,th,td,span,frame,iframe {margin:0;padding:0;}
    
    .outbox{ margin:0; 100%; height:1260px;}
    .box02 {  margin: auto auto; 524px; height:81px; text-align:center;}
    .button{ margin: 80px auto 0 auto; 458px; height:107px;}
    </style>
    <body>
    <div class="outbox" style="border:1px solid  #dadfe3;" >
      <div class="box02" style=" margin-top:300px; 650px; height:81px"><label>
            <font style="font-size: 50pt">企业通讯录</font></label></div>
      <div class="button" style=" 666px; height: 152px" >
            <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');">
            <font style="font-size: 40pt">iOS 4.0以上在线安装</font></label></a><font style="font-size: 40pt"> </font> </div>
    </div>
    </body>
    </html>
    

    核心代码:

    "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>


    2、点击distribute
    <ignore_js_op>
    3、选择Save for Enterprise or Ad-Hoc Deployment,点击下一步
    <ignore_js_op>
    4、选择打包用的企业级证书,点击下一步 
    <ignore_js_op>
    5、打包应用命名,保存路径选择。选中Save for Enterprise Distribution。
    填写Application URL值,Application URL值为打包好的应用ipa文件的web访问路径。
    填写Title值,Title值为应用名称。
    注意每次打升级包时,保存的ipa文件名称要与Application URL值中web访问路径指向的ipa文件名称一致。否则的话,升级的时候会找不到升级包。 
    <ignore_js_op> 
    填写完毕,点击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> 

    <ignore_js_op> 

    <ignore_js_op> 
    V1.1 打包步骤与V1.0打包步骤一致,命名时为与1.0区别可做以下改动:

    <ignore_js_op>


    打包好V1.1,V1.0两个版本后即可测试升级功能。


    iphone手机端获取本地应用程序版本代码如下:
    NSString *nsstrLocalVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:@"CFBundleVersion"];
    

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

    [[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的访问路径,安装应用程序的效果图一致。

  • 相关阅读:
    关于git的文件内容冲突解决
    【C++】 四种强制类型转换(static_cast 与 dynamic_cast 的区别!)
    如何判断一个变量是不是指针
    类型识别
    C++中的异常处理(下)
    C++中的异常处理(中)
    C++中的异常处理(上)
    C语言异常处理
    用Zebra打造Linux下小型路由器
    Linux下PortSentry的配置
  • 原文地址:https://www.cnblogs.com/greywolf/p/3461416.html
Copyright © 2011-2022 走看看