iOS是一个非常封闭的系统。授权文件(.mobileprovision)和签名证书文件(.cer)的存在就是为了验证身份信息。一般情况下,比如ssh登陆或者scp需要私钥、公钥对即可,iOS也是基本采取这种方法。
       首先注册apple开发者,然后花美刀购买一个.cer开发证书,这个开发证书可以理解为私钥。这个私钥只能你自己使用,如果有多台开发机器,可以先把cer证书导出为.p12文件(可以设置密码),在第二台开发机上像导入cer一样导入这个p12文件即可。一个cer证书可以对应多个程序ID。
       然后是公钥。mobileprovision文件包括程序ID,公钥以及DeviceID这三个主要信息。在开发机器上,build需要cer和mobileprovision的公钥和程序ID匹配,才能生成最后的app程序。
       在手机上安装程序,除了需要私钥公钥匹配,还需要DeviceID匹配,手机的UDID必须在mobileprovision的DeviceID列表中才可以。程序中包括私钥信息,要想匹配,必须在手机上安装对应的mobileprovision才可以验证公钥私钥。

所以,如果想要开发build程序,必须安装cer证书和mobileprovision(用到程序ID和公钥信息)。如果想要在手机上直接安装程序(非AppStore安装),必须在手机上安装mobileprovision(程序ID,DeviceID以及公钥信息)。

(摘自:http://blog.sina.com.cn/s/blog_8c87ba3b0100ztrx.html,添加了少量自己的理解。)

iOS各种profile文件的更多相关文章

  1. 如何使用iOS 开发证书 和 Profile 文件

    如果你想在 iOS 设备(iPhone/iPad/iTouch)上调试, 需要有 iOS 开发证书和 Profile 文件. 在你拿到这两个文件之后,该如何使用呢? 证书使用说明: 1.  iOS 开 ...

  2. ios私钥证书和profile文件的创建方法

    做过ios开发的朋友们,对ios私钥证书和profile文件(描述文件)可能并不陌生,可以通过mac电脑来创建,但是,假如我们是用H5开发工具开发的,我们没有mac电脑怎么创建证书呢? 目前H5打包用 ...

  3. iOS开发-导出profile文件

    1.登陆苹果开发者网站 苹果开发者中心,点击 Certificates, Identifiers & Profiles 2.导出Provisioning Profiles 2.1 点击右上脚加 ...

  4. [转载]iOS Provisioning Profile(Certificate)与Code Signing详解

    原文:http://blog.csdn.net/phunxm/article/details/42685597 引言 关于开发证书配置(Certificates & Identifiers & ...

  5. iOS Provisioning Profile(Certificate)与Code Signing详解

    引言 关于开发证书配置(Certificates & Identifiers & Provisioning Profiles),相信做 iOS 开发的同学没少被折腾.对于一个 iOS ...

  6. 【转】iOS Provisioning Profile(Certificate)与Code Signing详解 -- 待看

    原文网址:http://blog.sina.com.cn/s/blog_82c8198f0102vy4j.html 引言 关于开发证书配置(Certificates & Identifiers ...

  7. 【转】 iOS Provisioning Profile(Certificate)与Code Signing详解

    原文:http://blog.csdn.net/phunxm/article/details/42685597 引言 关于开发证书配置(Certificates & Identifiers & ...

  8. 如何查看App provision profile文件中的钥匙链访问组名称

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们因为某些原因希望安全的在多个App中共享一些信息,我们可以 ...

  9. 苹果ios通过描述文件获取udid

    苹果ios通过描述文件获取udid 需要准备的东西 1,安装描述文件只支持https的回调地址,所以需要申请https域名 2,描述文件签名,不安装也可,只要能接受红色的字 步骤: 1,准备xml文件 ...

随机推荐

  1. 常见 CentOS 7 安装问题

    问题一: 解决办法:网上安装文章推荐的的刻录工具多是 ultraiso,有时候可能会出现错误,这时候最简单的解决办法是换由RedHat推荐的刻录工具,fedora media writer,不过这个工 ...

  2. Web篇之JS性能优化

    首先,性能优化分好几个方面,本章我们从js方面来优化. 1:垃圾收集 日常中的某些情况下垃圾收集器无法回收无用变量,导致的一个结果就是——内存使用率不断增高,以下为对应的情况以及处理方法. ①对象相互 ...

  3. docker 磁盘清理 相关

    用户在使用 Docker 部署业务一段时间后,可能会发现宿主节点的磁盘容量持续增长,甚至将磁盘空间耗尽进而引发宿主机异常,进而对业务造成影响. 本文先对 Docker 的空间分析与清理进行说明,然后对 ...

  4. 【性能测试】:监控Mysql数据库方式

    1,  进入到/etc目录下,打开my.cnf文件,在文件最后添加几行 slow_query_log = ON                             //打开慢查询开关 slow_q ...

  5. Ubuntu+Mac使用飞鸽传书iptux进行互通

    iptux不能直接与Mac版的IPMessage进行文件传输,但是可以和Windows的IPMessage进行互通.如果要实现Ubuntu和Mac下互通,就必须编译同一套代码,因为使用C++写的,所以 ...

  6. Mac下一台电脑管理多个SSH KEY(转)

    一.关于ssh是什么? http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 二.需求: 一台电脑上(Mac os)管理多个ssh ...

  7. 协作式取消 CancellationTokenSource

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. hibernate一对多多对一双向

    注意事项:一对多,多对一双向关联,在一的一方的多的getSet集合上的oneToMany上加上mappedBy.告诉hibernate由多的方一来维护关系.这也符合逻辑 ,本来外键就是在加在多的一方. ...

  9. @SafeVarargs注解

    被@SafeVarargs注解标注的方法必须是由static或者final修饰的方法. 使用泛型的变长参数方法产生编译器警告的示例: public static <T> T useVara ...

  10. Ubuntu 16.04 RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller” 不能上网

    来源:http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=463646 1.执行如下命令 uname -a sudo lspci -knn sud ...