这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号。在网上查了一下资料,感觉没有一个比较完善的流程,于是决定把整个流程写下来,供大家参考。

首先详细说明一下我们的目标,我们需要发布一个ipa放到网上,所有人(包括越狱及非越狱设备)可以直接通过链接下载安装,不需要通过AppStore,也不需要安装任何证书。要达到这个目标,就需要企业级开发账号(299刀)。企业级开发账号的申请流程在这里就不细说,主要说一下In House ipa的发布流程。

1.登录https://developer.apple.com,进入iOS开发者中心。在Certificates-Production中创建一个证书。

2.选择 In-House and Ad Hoc,点继续。注意,如果已经创建过In-House的证书,就不能再创建了,该选项会变灰,如下图。如果要重新创建,可以先在之前的列表中将该证书Revoke掉。

3.在Mac系统中进入“钥匙串访问”(可以直接用SpotLight搜索),选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书”。

4.输入邮箱地址和名称,选择“存储到磁盘”

5.将生成的“CertificateSigningRequest.certSigningRequest”文件上传到开发者中心,点击下一步生成,最后将生成的证书下载到本地,双击打开。就可以在钥匙串中看到证书已经成功安装了。

6.回到iOS开发者中心,在“Identifiers”-“App IDs”中创建一个应用对应的App ID。本人是创建的Explicit App ID,Wildcard App ID应该也行。

7.在Provisioning Profiles中添加一个与刚刚创建的AppID相应的Profile,选择“In House”

8.选择刚刚创建的App ID

9.创建并生成Profile后,下载到本地,双击打开,添加到资料库中。

10.打开需要导出ipa的工程,在Scheme中选择iOS Device

11.在菜单中选择Product-Archive

12.在弹出的Orgnizer中选择刚刚生成的Archive(默认选中),再选择右上角的Distribute

13.选择Save for Enterprise or Ad Hoc Deployment

14.选择刚刚创建的Profile

15.在弹出的保存框中将“Save for Enterprise Distribution”选上,并填入ipa在服务器上的路径(服务器地址需要改成自己的)以及应用的名称,选择保存路径,点击“Save”。

16.接下来就会在刚刚保存的路径下看到生成的两个文件,下面,我们需要把这两个文件上传到我们的服务器上。

17.服务器可以使用Apache、Tomcat等,只要支持文件访问即可,本人是在本地架了个Apache。服务器搭建完后,将以上两个文件放到根目录(其他目录也可,但需要修改15步骤中的Application URL和18步骤中的plist地址,Application URL还可以在plist中修改)

18.最后,我们将plist在服务器上的地址加到字符串“itms-services://?action=download-manifest&url=”之后,得到:

itms-services://?action=download-manifest&url=http://59.64.93.213/HelloWorld.plist

将这个plist地址用iOS设备的safari浏览器打开,就会提示安装应用。

注意:服务端要用https的服务

如果大家觉得对自己有帮助的话,还希望能帮顶一下,谢谢:)
转载请注明出处,谢谢!

iOS企业开发In House ipa发布流程的更多相关文章

  1. iOS$299企业账号In House ipa发布流程

    1.在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书”. 填写前两项,并保存在本地. 2.登录https://developer.apple.com,进入i ...

  2. 企业级开发账号In House ipa发布流程

    这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号.在网上查了一下资料,感觉没有一个比较完善的流程,于是决定把整个流程写下来,供大家参考. 首先详细说明一下我们的目标,我们需要发布 ...

  3. iOS版本更新的App提交审核发布流程

    http://www.2cto.com/kf/201502/378698.html 版本更新的App和新App的发布提交流程略有不同,新的App需要在开发者账号里准备发布证书,添加App的id,关联描 ...

  4. iOS企业开发plist安装包实现

    第一步: 在使用MACBOOK导出ipa的时候,我们得到ipa的同时,还得到一份plist文件 看到我们导出的plist,需要注意的地方有两个已经用中文标注. 一个是URL,一个是bundle-ide ...

  5. ios 企业证书 ipa 重新签名发布

    提示:暂时不能用了,企业证书滥用 ios 企业证书 ipa 重新签名发布 1. 应用场景 当前有一个 未用企业证书签名的 ipa 文件,默认是不可以直接安装到设备上的:我们需要用企业版证书签名: 当前 ...

  6. iOS 本地企业发布流程

    今天和后台弄了一下本地企业ipa发布, 准备工具:要发布的ipa文件一个,一个plist plist文件格式内容: <?xml version="1.0" encoding= ...

  7. iOS应用App Store发布流程

    iOS应用App Store发布流程 要发布iOS应用到App Store首先得有一个开发者账号,且不能是企业版(企业版只能部署inhouse,不能部署到App Store). 应用发布到App St ...

  8. ios 证书申请和发布流程

    证书是什么? 上面这个就是我们申请好证书后,下载到本地的.cer文件,也就是常说的开发证书与发布证书的样式.这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限 ...

  9. App开发到App Store上架,发布流程。

     http://blog.csdn.net/wojsg001/article/details/12005887 App开发到App Store上架,发布流程. 分类: IOS2013-09-25 11 ...

随机推荐

  1. Struts2架构分析和执行机制

    实例分析 1.在浏览器中输入url地址后,会通过http协议发送给tomcat,tomacat收到请求后查看訪问的是哪个 webapplication(例如以下图的Struts2_0100_Intro ...

  2. python 2,3版本自动识别导入

     import sys if str(sys.version[0]) == "3":    from urllib.parse import quote_plus    from  ...

  3. matplotlib之极坐标系的极角网格线(thetagrids)的显示刻度

    极坐标系的极角网格线(thetagrids)的显示刻度 #!/usr/bin/env python3 #-*- coding:utf-8 -*- ########################### ...

  4. LNK2019: 无法解析的外部符号(函数实现没有加namespace前缀导致)

    问题描述: 在A.h中,我写了如下函数 namespace XXX { void func(); } 在A.cpp中,我写了如下实现 #include "A.h" using na ...

  5. html 基本标签 ---字体

    <b> </b>加粗 <i> </i> 斜体 <del> </del> 删除 <ins> </ins> ...

  6. The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统

    引入模板系统的原因,view中引入硬编码并非明智的选择,设计上的任何改变都会需要改动代码.python代码和HTML代码应该分开,这是多数Web站点的共识,分开会提高效率. 基本模板系统 Django ...

  7. 制作Cubie版OpenWRT(功能齐全,大小仅有11M)

    Allwinner Sun4i/5i/6i/7i (sunxi) Various vendors are offering development boards / single-board comp ...

  8. mysql数据库表修改某一列的类型

    下面列出:1.增加一个字段alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空alter table use ...

  9. libubox

    lbubox是openwrt的一个核心库,封装了一系列基础实用功能,主要提供事件循环,二进制格式处理,linux链表实现和一些JSON辅助处理. 它的目的是以动态链接库方式来提供可重用的通用功能,给其 ...

  10. RMAN Maintenance

    CROSSCHECK: 确认 rman repository 与 实际的备份集 是否同步. 你可以先使用 LIST 命令查看你之前做的备份的情况, 然后使用 CROSSCHECK 命令来确认这些文件还 ...