#####IN-HOUSE应用程序分发

下面介绍下使用网络方式进行部署的方式,用户直接在iPhone/iPad的Safari浏览器里面输入URL地址即可安装,

注意:目前对于这种企业级开发的应用程序最好的分发方式是部署到内网服务器上通过网络进行下载。

前提条件
  • 已鉴定的用户可以访问的安全Web服务器,对于iOS7.1以上的设备必须有HTTPS的服务器
  • .ipa格式的iOS应用程序,经构建用于发布/生产(使用了企业级预制描述文件)
  • 关于应用程序描述的清单文件(.plist)
  • 使用了itms-services://?action=download-manifest&url=形式的HTML超链接
部署步骤
  1. 打包ipa文件

    使用Xcode的Product->Archive来进行打包,在选择发布的方式上选择Save for Enterprise or Ad- Hoc Deployment,生成IPA文件即可。

  2. 配置plist文件

    在plist文件中必须配置IPA文件的下载路径、应用的名称和应用的bundle-identifier(需要和Xcode中的配置一致)

items

assets

kind
software-package
url
http://www.example.com/apps/foo.ipa

kind
display-image

needs-shine

url
http://www.example.com/image.57x57.png

kind
full-size-image
needs-shine

url
http://www.example.com/image.512x512.jpg

metadata


bundle-identifier
com.example.fooapp

bundle-version
1.0

kind
software

subtitle
Apple

title
Example Corporate App

```
3. 编写下载页面,其中URL指向的是plist文件的路径,对于iOS7.1以上的系统这里的plist的路径必须是HTTPS的,iOS7.1以前的则不需强制使用HTTPS

<a href="itms-services://?action=download-manifest&url=http://www.example.com/test.plist">下载应用</a>
  1. 设定服务器MIME类型

    对于OS X Server,将以下MIME类型添加到WEB服务的“MIME TYPES”设置中:

    application/octet-stream ipa

    text/xml plist

    对于IIS,使用IIS Manager在服务器的“属性”页面中添加MIME类型

    .ipa application/octet-stream

    .plist text/xml

企业证书使用的注意事项:
  1. 不要将企业签名后的应用发布到第三方市场进行公开下载。
  2. 不要将应用的安装链接公开,做到只在企业内部安装使用
  3. 自己的开发账号千万不能外借
  4. 不要将p12证书文件和Provisioning Profiles 文件上传到第三方打包平台,如云编译,云打包之类的
  5. 测试的时候最好在企业内部网络进行,如果需要连接Internet的话,请注意网络环境不要发生太大的变化
对于企业账号来说,苹果的管控是非常严格的,任何违背苹果 ADP 和 ADEP 条款使用企业账号,都会有企业账号被封的风险。根据经验,我们总结了上述一些规则提供给所有开发者,只要根据严格遵守,即可极大程度的避免企业账号被封。

但是,苹果的企业账号监管很大程度上是取决于苹果人工审核,所以并没有100%安全的事情,有的时候,也需要一点运气。苹果企业开发者账号一旦被封,基本上也就没有办法找回来了,钱也不会退的,随后苹果会给你发一封邮件通知,并且一年内不得再次注册。

编写:阿杰

iOS 企业证书的使用文档的更多相关文章

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

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

  2. iOS企业证书网页分发全过程具体解释(图文并茂史无前例的具体哦)

    iOS企业证书网页分发全过程具体解释 苹果的企业级证书公布的应用.是不用设备授权就可以直接安装,而且不限设备上限. 为了方便分发,苹果有协议实现通过网页链接直接下载安装企业级的应用. 首先须要说明它的 ...

  3. 易云盘(nester)-面对企业的和团队文档管理的平台

    易云盘(nester)是本人的另外一款作品,先前开发和维护的在线设计工具Visor也已经合并在Nester的最新版里了. 目前作为共享版发布. 特点 Nester后端是以Spring Framewor ...

  4. iOS网络编程笔记——XML文档解析

    今天利用多余时间研究了一下XML文档解析,虽然现在移动端使用的数据格式基本为JSON格式,但是XML格式毕竟多年来一直在各种计算机语言之间使用,是一种老牌的经典的灵活的数据交换格式.所以我认为还是很有 ...

  5. iOS客户端与网页交互文档

    很少和客户端打交道,这次由于做会活动,要和客户端配合做个分享的功能 这里总结下基本的流程,就是前端在H5 里调用客户端的方法即可 第一部分 客户端提供需求文档 网页请求设置 客户端发起请求时在HTTP ...

  6. iOS 企业证书发布app 流程

    企业发布app的 过程比app store 发布的简单多了,没那么多的要求,哈 但是整个工程的要求还是一样,比如各种像素的icon啊 命名规范啊等等. 下面是具体的流程 1.修改你的 bundle i ...

  7. IOS 预览pdf,word文档的集中方式

    在iPhone中可以很方便的预览文档文件,如:pdf.word等等,这篇文章将以PDF为例.介绍三种预览PDF的方式,又分别从本地pdf文档和网络上的pdf文档进行对比. 预览本地PDF文档: 1.使 ...

  8. 吴裕雄--天生自然PythonDjangoWeb企业开发:Django文档阅读简介

    Django是基于MVC模式的框架,虽然也被称为“MTV”的模式,但是大同小异.对我们来说,需要了解的是无论是MVC模式还是MTV模式,甚至是其他的什么模式,都是为了解耦.把一个软件系统划分为一层一层 ...

  9. 1230.2——iOS准备(阅读开发者文档时的笔记)

    1.程序启动的过程    .在桌面找到相应的应用的图标 点击图标    .main函数 UIApplication类Every app has exactly one instance of UIAp ...

随机推荐

  1. 静态方法中不能new内部类的实例对象的总结

    class Test{ public void main(String[] args){ A testA=new A(); //这里会出现问题 new Thread(new Runnable(){ p ...

  2. MTK MT33xx型GPS的NMEA协议解析实例

    1)解析实现 gps_main.c #include <nmea/nmea.h> #include <string.h> #include <stdio.h> #i ...

  3. js控制只能输入数字和控制小数的位数

    <input class="form130" style="width: 80px;" maxlength="10" id=" ...

  4. zen Code 支持的代码样式

    这里是一个支持的属性和操作符的列表: E 元素名称(div, p); E#id 使用id的元素(div#content, p#intro, span#error); E.class 使用类的元素(di ...

  5. sublime text 3 3083 注册码

    亲试,可用! —– BEGIN LICENSE —– Andrew Weber Single User License EA7E-855605 813A03DD 5E4AD9E6 6C0EEB94 B ...

  6. 年月日与time的相互转换

    年月日的转换 // 这里就是把时间格式化成你要的 SimpleDateFormat sdf = new SimpleDateFormat("yyyy");//将时间转换为年 Sim ...

  7. 用swing也可以做出好看的界面

    用Swing做出的例子:JavaFX做出的界面:后来又做出了自己编写的一套基于Synth的L&F,其与直接在代码中重绘某个组件不同,最大优点是具有可插拔性,即在不改变原有程序代码的情况下,用户 ...

  8. Redis实战阅读笔记——第一章

    Redis 实战 中文版 的20-21页看的人郁闷死了,最后看英文版才明白意思,哎,我理解能力差成这样了 其中,图 1-12 有错误,草,这个是英文版的错--应该是group:programming

  9. 4种scope方法

    默认作用域,自动加载: default_scope { order(created_at: :desc) } model 调用 find_2时才运行 scope :find_2, ->{ whe ...

  10. 打不死的redis集群

    导读 最近遇到部分系统因为redis服务挂掉,导致部分服务不可用.所以希望搭建一个redis集群镜像,把原先散落各处的redis服务器统一管理起来,并且保障高可用和故障自动迁移. 最近遇到部分系统因为 ...