七牛云储存实现iOS企业版分发

iOS企业证书的发版这里就不多说了。
由于app现在放在公司自己的服务器中,为了实现https的plist下载链接还特意把plist挂在了开源中国上。小公司,带宽小,多用户升级的时候给公司服务器带来不小的压力。所以最近工头有把ipa挂在七牛上去的想法,这样就可以有效的缓解服务器的压力。
企业版分发的plist下载链接必须是https协议的,所以需要SSL证书。如果你公司没有证书,那么可以使用七牛。
接下来开始步骤:
1:使用xcode打包生成ipa文件(过程不多说)
2:登陆七牛(默认你已有账号,没账号请注册)
3:登陆之后添加资源:

七牛云储存实现iOS企业版分发_第1张图片
添加资源.png

4:创建空间:

七牛云储存实现iOS企业版分发_第2张图片
创建空间.png

5:创建成功之后在资源列表中你可以看到你新创建的资源:

七牛云储存实现iOS企业版分发_第3张图片
资源列表.png

6:选中你新创建的资源名称,然后选中内容管理-->上传文件(这里先上传ipa文件):

七牛云储存实现iOS企业版分发_第4张图片
上传文件.png

7:上传ipa文件成功之后查看文件的外链接,如图:(你看到的链接可能并不是https的而是http的,这里后面再说明)

七牛云储存实现iOS企业版分发_第5张图片
外链接.png

8:复制ipa文件的外链,接下来就是要上传plist文件了,首先创建plist文件:

七牛云储存实现iOS企业版分发_第6张图片
plist文件内容.png

在plist文件的url中填写你复制的ipa的外链。其他的只需填写bundle-identifier为你的项目的id即可,title中填写你app的名称,其他的可不变。然后保存plist文件。
9:接下来就是上传plist文件到七牛了,同ipa文件的上传一样,上传成功后点击外链接即可查看外链:


七牛云储存实现iOS企业版分发_第7张图片
plist.png

10:接下来是最重要的一步,因为你会发现你上传的plist文件的外链接并不是https的,而企业版分发的plist下载链接必须是https。所以别急.先在查看内容中保存默认域名,然后选中你创建的空间名称,你会看到页面上有个“融合CDN加速域名”的title,点击添加HTTPS域名:

七牛云储存实现iOS企业版分发_第8张图片
点击保存域名.png
七牛云储存实现iOS企业版分发_第9张图片
https域名.png

好了,此时你再去内容管理中,点击你之前上传的plist文件查看它的外链接,你会发现它已经是https的了。
ok,https链接的plist文件已生成,复制链接,在代码中:

#warning 测试代码
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        UIApplication *application = [UIApplication sharedApplication];
        [application openURL:[NSURL URLWithString:[NSString stringWithFormat:@"itms-services://?action=download-manifest&url=https://你的plist外链接地址.plist"]]];
        exit(0);
    });

就可以升级了。
有时你会发现,在你要升级版本的时候,你虽然更换了ipa文件,但是plist文件地址所对应的url的升级包并没有变,或者你连plist文件中的url也更新重新上传,但是你再次打开plist的外链你会发现plist的内容并没有修改。为此我忙活了半天不知道为什么。后来才知道这是由于七牛缓存的原因,所以你每次要发版的时候,在你上传完ipa文件的时候,最后能去刷新一下plist文件和ipa文件,在个人看板中:


七牛云储存实现iOS企业版分发_第10张图片
个人中心.png

有个刷新预取得功能,复制ipa的链接或plist的外链到那里即可刷新(刷新是有次数限制的):

七牛云储存实现iOS企业版分发_第11张图片
刷新预取.png

恩,刷新完时候你就可以愉快的升级了。(缓存很啃爹,请慢慢摸索)。
最后奉上plist文件的源码:





    items
    
        
            assets
            
                
                    kind
                    software-package
                    url
                    ipa文件的外链,这个外链可以不是https的,也就是说http即可
                
                
                    kind
                    full-size-image
                    needs-shine
                    
                    url
                    
                
                
                    kind
                    display-image
                    needs-shine
                    
                    url
                    
                
            
            metadata
            
                bundle-identifier
                你的bundleID
                bundle-version
                1.2.0
                kind
                software
                subtitle
                App
                title
                app名称
            
        
    


ok,以上总结有什么不对或瞎扯的地方欢迎在下方留言中指出。
ps:无demo不文章,抱歉,真没有demo。

你可能感兴趣的:(七牛云储存实现iOS企业版分发)