這是我 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
面板操做