iOS 企业版 打包
iOS 企业版 打包
使用 iOS 企业版的证书发布应用可以跳过 Appstore,直接发布到自己的网站,让其他人在自己的网站上下载安装,但前提是要用苹果自带的Safari 浏览器才能下载安装,其他浏览器可能不识别itms-services协议。
一、制作证书文件
1.修改钥匙串的配置。
2.打开钥匙串, 点击钥匙串访问—证书助理—从证书颁发机构请求证书。



3.保存证书,稍后会用到。
二、生成并安装证书
1.进入苹果开发者中心 https://developer.apple.com,登录你的企业级账号。选中 Certificates—Production,如果没有证书就重新创建证书。


2.点击下方的 continue,进入到CSR 文件介绍页面

3.继续点击 continue,进入上传 CSR 文件的页面,也就是刚刚从钥匙串界面申请的钥匙串请求(CertificateSigningRequest)文件,点击 choose File,找到 CSR 文件并打开。

4.点击 Generate生成证书,点击 Download后再点击 Done,完成证书申请。双击下载下来的证书文件就完成证书(.cer)的安装了。

三、添加企业级的应用
1.选中 Identifies—App IDs,如果没有 APP ID就点击加号创建新的 APP ID。

2.给你的 APP 填写App ID Description,Bundle ID填写你的工程里面的 Bundle ID ,其余的默认。


3.点击 Continue,进入 APP ID 确认界面,点击 Submit提交应用后在点击 Done,完成 APP ID的创建。
四、生成Provisioning Profiles
1.选中Provisioning Profiles—Distribution,如果没有Provisioning Profiles就点击加号创建新的Provisioning Profiles。


2.选中 Distribution—In House,点击 Continue,为创建的Provisioning Profiles选择刚刚创建的 APP ID。

3.为当前创建的Provisioning Profiles选择对应的证书。

4.点击 Continue,给点前的Provisioning Profiles命名。

5.点击 Generate生成Provisioning Profiles,点击 Download 下载完成后点击 Done。

6.双击下载下来的Provisioning Profiles文件完成安装。
五、打包并发布应用
1.在 Xcode中为 Target 和 Project 选择匹配的证书和Provisioning Profiles。


2.开始打包,选中 target和 iOS 设备,不能使用模拟器,如果没有 iOS 设备就选中Generic iOS Device。点击Product—Archive。

3.打包完成后进入Organizer面板,选择刚刚打完的包,点击面板右侧的 Export,选择Save Enterprise For Deployment选项。

4.点击 Next,选择对应的证书后再选择导出给什么设备使用。

5.点击 Next,直到出现为当前 ipa 设置 plist 文件。注意:存放资源的地址必须遵守 https协议。

6.点击 Export,会生成一个ipa包和一个plist 文件,确保plsit文件中三个网址后面所接的资源名称和你要给服务端的资源的名称相同。如下图所示,你需要给服务端提供的4个文件分别是:baidu.ipa,image.57x57.png, image.512x512.jpg 和生成的 plist文件。

注:打完包后可以自己通过 iTunes 将 ipa 包安装到自己的 iOS 设备,如果能安装成功说明没有问题,如果不能安装说明之前的证书有问题,请按照上面的步骤重新申请证书等文件。
7.将这些资源传到用户可以访问的区域,当用户用 Safari 浏览器点击web链接时plist文件将会被下载下来,并且触发它所描述的应用被下载安装。以下是一个示例链接:
<a href="itms-services://?action=download-manifest&url=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
iOS 企业版 打包的更多相关文章
- iOS企业版打包(转载)
转自 http://www.cnblogs.com/shenlaiyaoshi/p/5472474.html 神来钥匙-陈诗友 iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 A ...
- iOS企业版打包 发布在线安装包 plist
本文转载至 http://blog.csdn.net/u011452278/article/details/49511385 原文转载:http://blog.csdn.net/pang040328/ ...
- 关于 iOS 批量打包的总结
关于 iOS 批量打包的总结 本文作者: 伯乐在线 - Tsui YuenHong .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 如果你曾经试过做多 target 的项目,到了测试人员要 ...
- [转载]IOS项目打包除去NSLog和NSAssert处理之阿堂教程
原文链接地址:http://blog.sina.com.cn/s/blog_81136c2d0102v1ck.html 原文地址:IOS项目打包除去NSLog和NSAssert处理之阿堂教程作者:时空 ...
- ios自动打包-fastlane 安装、使用、更新和卸载
ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...
- hbuilder IOS APP 打包与发布2
在上一篇的<hbuilder IOS APP 打包与发布>中,请求 的 是APP ids . ios开发证书 .和开发配置文件 , 这一篇中就不写发布证书和配置文件的请求,因为流程 ...
- 【2】IOS APP打包发布
目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...
- 40、IOS自动打包-Python脚本
第一种:基于编译的打包 编译工程--找到.app文件--新建Payload文件夹--拷贝.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成! 第二种(有问题,暂时不需要看) ...
- 如何将 iOS 工程打包速度提升十倍以上
如何将 iOS 工程打包速度提升十倍以上 过慢的编译速度有非常明显的副作用.一方面,程序员在等待打包的过程中可能会分心,比如刷刷朋友圈,看条新闻等等.这种认知上下文的切换会带来很多隐形的时间浪费. ...
随机推荐
- 关于C语言打印string类字符串的问题
首先因为printf函数输出字符串是针对char *的,即printf只能输出c语言的内置数据,而string不是c语言的内置数据. 其次string类型的对象不止包含字符串,还包含了许多用于操作的函 ...
- 序列化 json pickle shelve configparser
一 什么是 序列化 在我们存储数据或者 网络传输数据的时候,需要对我们的 对象进行处理,把对象处理成方便我们存储和传输的 数据格式,这个过程叫序列化,不同的序列化,结果也不相同,但是目的是一样的,都是 ...
- 1.Shell脚本
1.Shell脚本 可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环.分支等高级编 程语言才有的控 ...
- 中国剩余定理(crt)和扩展中国剩余定理(excrt)
数论守门员二号 =.= 中国剩余定理: 1.一次同余方程组: 一次同余方程组是指形如x≡ai(mod mi) (i=1,2,…,k)的同余方程构成的组 中国剩余定理的主要用途是解一次同余方程组,其中m ...
- shell进阶--流程
由于条件判断和循环跟其他语言都大同小异,学过编程的话很好理解,这里只贴出格式,不具体写用法了.(select菜单会详细讲一下) 条件判断 if条件判断 普通if条件判断: 嵌套if条件判断: 循环 f ...
- img标签的before,after伪类
在CSS中总有一些你不用不知道,用到才知道的“坑”.比如今天要谈的,把 before, after 伪类用在 <img> 标签上.嗯,实际上你用你会发现,在大多数浏览器这是无效的,dom中 ...
- 帝都之行5day:还是工作上的事
前两天开始面试找工作,周一整好简历,学历不行也没办法,但还是如实写了,自己看了一下,觉得还凑合,毕竟还是有几年经验的,就开始投了 选了十来个智联推荐的企业,然后把简历设为公开,开始等消息吧…… 投递成 ...
- 如何判断元素是否在可视区域ViewPort
个性签名: 生如夏花,逝如冬雪:人生如此,何悔何怨. 前言: 经常需要计算元素的大小或者所在页面的位置,offsetWidth,clientWidth,scrollWidth,scrollTop这几个 ...
- React全家桶构建一款Web音乐App实战(六):排行榜及歌曲本地持久化
上一节使用Redux管理歌曲相关数据,实现核心播放功能,播放功能是本项目最复杂的一个功能,涉及各个组件之间的数据交互,播放逻辑控制.这一节继续开发排行榜列表和排行榜详情,以及把播放歌曲和播放歌曲列表的 ...
- laravel博客中文章删除遇到问题
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'blog_article.id' in 'where clause' (SQL: sel ...