这是我 WWDC2016 笔记中的一篇,本文仅做为我的记录使用,也欢迎在许可协议范围内转载或使用,可是烦请保留原文连接,谢谢您的理解合做。架构
Xcode8 提供新的签名管理功能,带来了如下新特性:ui
之前处理应用签名对于开发者来讲是很是烦人的事,多人开发或者多设备开发常常遇到须要导出证书或 revoke / recreate 证书的问题,但 Xocde8 通过从新设计后在这方面更加方便易用,烦人的 Fix Issue
按钮再也不出现,取而代之的是更加友好的自动操做或者是错误提示。首先简要地回顾下签名机制。spa
代码签名可让用户验证咱们的身份(macOS 上使用没有签名的应用将会出现提示或不容许使用,而在 iOS 上更是不能安装),防止签名后的应用被修改,以及容许访问系统的服务。整个签名机制主要由如下三个文件组成:签名证书(Signing certificates),配置文件(Provisioning profiles)和受权文件(Entitlements)。设计
Capabilities
面板管理总的来讲,在签名时配置文件和可选的受权文件会和咱们的程序一同进行打包,而证书则用于生成代码封条(code seal)。code
如下就是 Xcode8 提供的新特性如何帮助咱们更专一于开发上:开发
在 Xcode8 之前,咱们若是想用同一个开发者帐号在不一样的 Mac 上开发,就必须从证书生成的 Mac 上把证书和密钥导出到另外一台 Mac 上安装。但 Xcode8 后,每台 Mac 都会根据开发者帐号生成一个设备独立的开发证书,这样咱们就免去证书导出或者是 revoke / recreate 证书的烦恼。不过度发证书仍是只能由一台设备存有。get
自动管理证书将会根据你所选择的开发者帐号自动为你处理配置文件和签名证书的设置,而且只在必要时进行提醒。工作流
若是你好奇 Xcode 为你作了什么,在报告
面板里还列出了每个步骤和缘由。例如,我刚在 Capabilities 把 CloudKit 打开,从新 build 一次后出现如下消息:it
另外,自动管理证书仅对 Xcode 生成的配置文件有效,因此不用担忧手动生成的会被修改。io
在自定义管理证书模式下,Xcode8 容许你对各 Configurations 进行配置文件和签名证书的设置。不过在面板上将会提示你出现什么错误。
新 PROVISIONING_PROFILE_SPECIFIER
编译参数将摒弃之前经过 unique id 引用配置文件的方式,改成经过“TeamID + 配置文件名称”的方式去引用(在工程文件中保存为:PROVISIONING_PROFILE_SPECIFIER = “XXXXXXXXXX/ProvisionFileName”),这样作的好处是之前当咱们添加一个小伙伴到团队或一个新设备后配置文件就须要从新生成,但之后这些都交给 Xcode 本身处理吧。
CODE_SIGN_IDENTITY
General
和 Capabilities
面板操做