搭建企业账号ipa包分发下载平台

目标

企业账号打包的enterprise类型ipa可以安装到所有的iPhone设备上,这篇文章讲述怎样在自己的服务器上搭建分发下载平台。

准备阶段

1.服务器必须支持Https协议(苹果文档原话:对于 iOS 7.1 或更高版本,使用 HTTPS)
2.ipa文件&&对应的plist文件
Product->Archive->Export->Enterprise->Addition Options

搭建企业账号ipa包分发下载平台_第1张图片
屏幕快照 2018-04-20 05.35.58 PM.png

搭建企业账号ipa包分发下载平台_第2张图片
manifest.plist

Name:应用名称
App URL:ipa包在服务器上的下载地址
Display Image URL:57 x 57 像素的 PNG 图像,在下载和安装过程中显示。指定图像的完全限定 URL
Full Size Image URL:512 x 512 像素的 PNG 图像,表示 iTunes 中相应的应用
生成的plist文件如下所示





    items
    
        
            assets
            
                
                    kind
                    software-package
                    url
                    https://example.com/example.ipa
                
                
                    kind
                    display-image
                    url
                    https://example.com/image.57x57.png
                
                
                    kind
                    full-size-image
                    url
                    https://example.com/image.512x512.png
                
            
            metadata
            
                bundle-identifier
                com.xxx.xxx
                bundle-version
                1.0.0
                kind
                software
                title
                Example
            
        
    



3.下载入口HTML



  
    
    Example
    
  
  
    Install App
  


整合

把ipa包&&对应的plist文件&&入口HTML文件部署到服务器即可。如果部署好之后,后期有修改plist文件的内容,重新部署之后可能会遇到“无法下载应用”的莫名错误,这是因为manifest.plist文件在客户端的缓存问题,建议把plist文件改个名称再部署下。

三方平台代签企业签名踩到的坑

可能有些公司没有自己的企业账号,使用了三方平台代签企业签名,大致流程是我们用自己的开发者账号打个ad-hoc类型的ipa包,交给三方平台重新签名,拿到企业账号签名后的ipa包就可以搞事情了。
今天拿到蒲公英给我们的ipa包之后,部署到服务器,下载安装时却显示“无法下载应用”的错,排查问题最后发现是manifest.plist文件中的bundle-identifier值和ipa包中的bundle-identifier不一样。

排查步骤

首先怀疑ipa包本身有问题,验证方法:使用itools软件直接安装ipa包,结果可以安装到任意手机,排除ipa包有问题这种可能性。
然后怀疑是manifest.plist文件和ipa包中信息的不一致情况,头一个怀疑对象就是bundle-identifier。验证方法:解压ipa包,找到embedded.mobileprovision文件,复制到桌面,在终端中输入命令:security cms -D -i /Users/xx/Desktop/embedded.mobileprovision,拿到签名用的application-identifier L3562L3CD5.com.xxx.xx这里com.xxx.xx才是真正的bundle-identifier,这与manifest.plist文件中的内容不一致,修改之后重新部署下就可以下载了。

参考链接

企业帐号进行IPA的打包、分发、下载安装的详细流程(转载)
苹果文档--以无线方式安装企业内部应用
iOS学习之如何查看.ipa测试包用到的证书所包含的UDID
iOS开发各种证书问题

你可能感兴趣的:(搭建企业账号ipa包分发下载平台)