iOS 企业应用打包与更新

作者: AgoniNemo | 来源:发表于2017-04-17 18:18 被阅读3646次

    1.先去这里把企业要用的证书打包好。(博主比较懒,就不做重复的工作了)

    2.上面最后找到Product->Archive编译好后,得到下面图片的界面。


    点击export...

    点击export导出。

    3.在弹出的界面中选择第三项。


    Enterprise Deployment

    4.选择好后在弹出的窗口中选择账号。


    3.png

    5.这个界面是问你支持什么设备,默认就行。


    4.png

    6.这个界面记得打勾。


    5.png

    7.在上一步中打勾了就会出现下面这个界面。


    6.png

    8.完成后,就会打包出两个文件,一个是plist文件,一个是ipa文件。


    7.png

    9.这是plist文件内部的结构。


    8.png

    10.下面我们是随便写的下载网页。(反正是测试用的丑点就丑点咯)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
        <title>下载界面</title>
        <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">
    </head>
    <body>
      <div class="contxt">
        <a href="itms-services://?action=download-manifest&url=https://www.xxxx.com/ipa/manifest.plist" class="context">下载</a>
      </div>
    </body>
    </html>
    

    11.点击了a标签,会触发事件。


    app.png

    点击安装后,会自动安装。

    以上的是去网站上安装的步骤,下面来说说更新。
    更新分为两种:

    第一种

    1.后端有接口返回版本号,这样就方便了。直接判断版本号,如果是旧版本,可以提示用户更新,更新代码如下:

    //  比如plist文件地址是https://www.xxxx.com/ipa/manifest.plist 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://www.xxxx.com/ipa/manifest.plist"]];
    

    上面的地方要注意的是在路径前要加上

    itms-services://?action=download-manifest&url=
    

    第二种

    1.没有后端接口的情况下,要怎么更新,可以通过下面的方法

     //  比如plist文件地址是https://www.xxxx.com/ipa/manifest.plist
        NSDictionary* dict = [NSDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@"https://www.xxxx.com/ipa/manifest.plist"]];
        
        if (dict) {
            
            NSArray* list = [dict objectForKey:@"items"];
            NSDictionary* dict2 = [list objectAtIndex:0];
            
            NSDictionary* dict3 = [dict2 objectForKey:@"metadata"];
            NSString* newVersion = [dict3 objectForKey:@"bundle-version"];
            
            NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
            NSString *myVersion = [infoDict objectForKey:@"CFBundleShortVersionString"];
            
            if (![newVersion isEqualToString:myVersion]) {
                //这里博主是直接更新的,你可以给用户弹个提示让用户来肯定更新不更新
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://www.xxxx.com/ipa/manifest.plist"]];
            }
        }else{
            NSLog(@"您已经是最新版");
        }
    

    PS:好像没有什么漏下的了,有不懂或疑问的童鞋可以私信博主!

    打包进阶:iOS自动打包从零开始

    相关文章

      网友评论

        本文标题:iOS 企业应用打包与更新

        本文链接:https://www.haomeiwen.com/subject/uggtzttx.html