xcode 自动签名原理
签名的核心就是provision profile要与当前的bundle id及本地的私钥相匹配。
teamid:每个开发者账号都会对应一个teamid。企业的开发这账号除了对应一个teamid外,下面的每一个开发者还会有一个personal team,当然会有不同的teamid。
xcode中自动签名选teamid的作用就是找到teamid对应的profile及证书。
以下为推测的过程,仅供参考:
当选择自动签名时,首先需要选择team,当选择team过后,xcode会根据teamid去本地的profile文件夹中去遍历此teamid对应的provision profile文件,从中找到一个跟本地私钥匹配的provision profile文件,查找结束(这个过程不需要联网,跟手动签名一致,因为手动签名也是自己手动去选择provision profile)。
此时可能会发生两种情况:
- 目标provision profile 文件不存在。
此时xcode会联网,去开发者网站遍历此teamid对应的证书。此时又会有三种情况:
1)teamid对应的证书不存在,那么xcode会重新创建一个证书(当然本地会创建对应的私钥)并用这个证书去创建一个新的provision profile。
2)teamid对应的证书在本地都没有对应的私钥,那么xcode会重新创建一个证书(当然本地会创建对应的私钥)并用这个证书去创建一个新的provision profile。(这时候还有一种情况是创建的证书达到上限,此时有两种解决方案:一种是换一个子账号,另一种是把别人电脑上的私钥导到自己电脑上)。
3)teamid对应的证书中至少有一个对应的私钥在本机存在,那么就用这个证书重新创建一个provision profile。
- 找得到provision profile,但是此provision profile对应的本机的证书不存在。xcode会revoke开发者网站上的certificate,同时重新创建一个certificate(当然本地会创建对应的私钥)并用这个certificate去创建一个新的provision profile。
关于自动签名证书问题的终极解决方案:
- 把本机和开发者网站上本机的证书及本机中的profile文件都删除,然后xcode只登陆需要的那个账号,然后重启xcode,所有证书及profile都让xcode重新生成。
- 如果一个账号创建的证书达到上限,并且只想用一个账号的时候,可以把别人电脑上的私钥导到自己电脑上。
xcode 自动签名原理的更多相关文章
- xcode 自动签名、手动签名
手动签名:需要手动生成p12文件(私钥),然后将对应的公钥上传到开发者网站,生成证书,进一步生成对应的描述文件,然后在xcode中手动指定描述文件,这个描述文件中包含与本地p12文件对应的证书. 自动 ...
- Xcode自动选择证书
从xcode3时代习惯了手动选择证书,即 Provisioning Profile和 Code Signing Identify. 而随着团队扩大,应用量增多,需要管理的证书也越来越多,每次从长长的l ...
- iOS 应用签名原理&重签名
在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...
- ionic ios 友盟多渠道/自动签名/加固之腾讯云。乐固
之前写了一篇文章主要是介绍使用gradle进行多渠道分发处理的文章--链接:http://www.cnblogs.com/happen-/p/6029387.html 最近在做app上线的处理,发现某 ...
- 友盟ionic多渠道自动签名app
这几天公司的运营部门要求添加流量统计功能,集成了友盟的插件,中间遇到很多的问题,在这里说明记录一下,为遇到相同问题的朋友们减少麻烦 问题一.插件的使用直接将友盟sdk系在放置到项目根目录下plugin ...
- spring boot实战(第十三篇)自动配置原理分析
前言 spring Boot中引入了自动配置,让开发者利用起来更加的简便.快捷,本篇讲利用RabbitMQ的自动配置为例讲分析下Spring Boot中的自动配置原理. 在上一篇末尾讲述了Spring ...
- [BS-08]注意Xcode自动提示好用但极易出错,务必看清方法的名称
今日在写一个UIBarButtonItem的分类时,在Xcode自动提示时,因未仔细查看,错将需要用到setBackgroundImage的地方,选择成setImage,结果导致button的boun ...
- APK签名原理
网上已有多篇分析签名的类似文章,但是都有一个共同的问题,就是概念混乱,混乱的一塌糊涂. 在了解APK签名原理之前,首先澄清几个概念: 消息摘要 -Message Digest 简称摘要,请看英文翻译, ...
- 360加固apk并自动签名
我们知道Android加混淆之后,代码的安全性得到了提高,即使你hook,反编译得到的也是乱码的,对于阅读性造成了影响,为了增强代码的破解难度,我们通常退对apk进行加固,常见的有腾讯,360,爱加密 ...
随机推荐
- Makefile中的%标记和系统通配符*的区别
Makefile中的%标记和系统通配符*的区别在于,*是应用在系统中的,%是应用在这个Makefile文件中的. (本文的测试环境是Windows7下使用MinGW提供的make.exe) 例如,如果 ...
- 外网ssh内网Linux服务器holer实现
外网ssh访问内网linux 内网的主机上安装了Linux系统,只能在局域网内访问,怎样从公网也能ssh访问本地Linux服务器? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安 ...
- 什么是Maven项目
1.通俗理解Maven:https://blog.csdn.net/shuzhe66/article/details/45009175 个人总结: Maven项目会有pom文件! 当前的项目需要依赖其 ...
- 剑指Offer 23. 二叉搜索树的后序遍历序列 (二叉搜索树)
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 题目地址 https://www.nowcoder ...
- 6.移动端App安装包的测试用例
安装 安装手册是否规范,是否简洁,是否通俗易懂. 安装手册是否齐全,正确,有改动时,文档是否同步更新 直接复制安装程序到电脑上,能否正常安装 按安装手册给出的步骤进行安装,安装是否正确 查看在安装过程 ...
- Socket网络编程入门
Socket:专业术语:套接字;通俗的解释:两孔插座(一个孔:IP地址,一个孔:端口号).使用场景:通信,如QQ好友交谈,如浏览器的进程怎么与web服务器通信等. Socket来历: socket起源 ...
- lettuce行为驱动总结
1. pip install lettuce 在Python2.7下安装的 2. py -3 –m pip install lettuce 在Python3下安装的 3. 执行:进到featur ...
- Git删除分支/恢复分支
• 删除一个已被终止的分支 如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除 git branch -d <branch_name> • 删除一个正打开的分支 如 ...
- PTA——完全数
PTA 7-45 找完数 网友“云上明月”的程序: #include<stdio.h> int isPerfect(int num); int main() { ; int maxFact ...
- java获取泛型类型
import com.alibaba.fastjson.TypeReference; return JSON.parseObject(str, new TypeReference<BaseRes ...