使用 iOS 企业版的证书发布应用可以跳过 Appstore,直接发布到自己的网站,让其他人在自己的网站上下载安装,但前提是要用苹果自带的Safari 浏览器才能下载安装,其他浏览器可能不识别itms-services协议。
apple文档地址:http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
iOS的APP安装不像安卓的包只要下载的链接是以.apk结尾,然后下载下来后就会自动提示安装,iOS是先下载下来一个plist文件,然后根据plist里边配置的链接进行下载的.
我先大概说一下下载安装的流程.首先检查到需要更新,然后点击更新后
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=你的plist文件的下载链接"]];
itms-services://?action=download-manifest&url= 这句系统的一个协议命令。
然后系统会去下载这个plist,下载完成后会提示*****要安装**app,然后点击安装就会去下载并安装。流程大概就是这样。
-
打开钥匙串, 点击钥匙串访问—证书助理—从证书颁发机构请求证书。
image - 保存证书,稍后会用到。
3.进入苹果开发者中心 https://developer.apple.com,登录你的企业级账号。选中 Certificates—Production,如果没有证书就重新创建证书。
image
image
image
image -
点击 Generate生成证书,点击 Download后再点击 Done,完成证书申请。双击下载下来的证书文件就完成证书(.cer)的安装了。
image -
选中 Identifies—App IDs,如果没有 APP ID就点击加号创建新的 APP ID。
image -
给你的 APP 填写App ID Description,Bundle ID填写你的工程里面的 Bundle ID ,其余的默认。
image
image - 点击 Continue,进入 APP ID 确认界面,点击 Submit提交应用后在点击 Done,完成 APP ID的创建。
-
选中Provisioning Profiles—Distribution,如果没有Provisioning Profiles就点击加号创建新的Provisioning Profiles。
image
image -
选中 Distribution—In House,点击 Continue,为创建的Provisioning Profiles选择刚刚创建的 APP ID。
image
image -
点击 Continue,给点前的Provisioning Profiles命名。
image -
点击 Generate生成Provisioning Profiles,点击 Download 下载完成后点击 Done。
image - 双击下载下来的Provisioning Profiles文件完成安装。
-
在 Xcode中为 Target 和 Project 选择匹配的证书和Provisioning Profiles。
image -
开始打包,选中 target和 iOS 设备,不能使用模拟器,如果没有 iOS 设备就选中Generic iOS Device。点击Product—Archive。
image
image
image -
点击 Next,直到出现为当前 ipa 设置 plist 文件。注意:存放资源的地址必须遵守 https协议。
image - 点击 Export,会生成一个ipa包和一个plist 文件,确保plsit文件中三个网址后面所接的资源名称和你要给服务端的资源的名称相同。如下图所示,你需要给服务端提供的4个文件分别 是:baidu.ipa,image.57x57.png, image.512x512.jpg 和生成的 plist文件。
注:打完包后可以自己通过 iTunes 将 ipa 包安装到自己的 iOS 设备,如果能安装成功说明没有问题,如果不能安装说明之前的证书有问题,请按照上面的步骤重新申请证书等文件。
-
将这些资源传到用户可以访问的区域,当用户用 Safari 浏览器点击web链接时plist文件将会被下载下来,并且触发它所描述的应用被下载安装。以下是一个示例链接:
<a href="itms-services://?action=download-manifest&url=[https://xxx.com/manifest.plist](https://xxx.com/manifest.plist)">Install APP </a>
请不要添加ipa 的 web 链接,当下载完 plist 文件后会自动下载该 ipa 包。虽然 URL 的协议部分是 itms-services, 但 iTunes 并不会参与此过程。
将这些资源传到用户可以访问的区域,当用户用 Safari 浏览器点击web链接时plist文件将会被下载下来,并且触发它所描述的应用被下载安装。以下是一个示例链接:
<a href="itms-services://?action=download-manifest&url=[https://xxx.com/manifest.plist](https://xxx.com/manifest.plist)">Install APP </a>
请不要添加ipa 的 web 链接,当下载完 plist 文件后会自动下载该 ipa 包。虽然 URL 的协议部分是 itms-services, 但 iTunes 并不会参与此过程。 -
服务端的要求:
OS X Server 设置 MIME 类型:
application/octet-stream ipa
text/xml plist
IIS 使用 IIS Manager在服务器的属性页面中添加 MIME 类型:
.ipa application/octet-stream
.plist text/xml
网友评论