1. 說一些基本的東西
每一臺iPhone 都有一個唯一的uuid馋劈。
每一臺iPhone上的APP 都有一個唯一bundle Identifier院仿。
每一個配置文件(Provisioning Profiles)都會包含一個App ID葫男, 多個證書翅萤,多個設(shè)備主到。
每一個CSR(開發(fā)密鑰) 都只屬于一臺Mac電腦浙滤。
每一個證書(Certification)都包含一個CSR(開發(fā)密鑰)
2. ?關(guān)系
1) 證書可以說是Mac電腦和蘋果官方的紐帶阴挣,Mac電腦只有擁有了這條紐帶,安裝在該電腦上的Xcode才可以使用該證書訪問到蘋果官方的一些信息(也就是說Mac電腦擁有了可以把xcode項目安裝到iPhone上的權(quán)限)纺腊。
2) Xcode 想要將項目安裝到iPhone 上畔咧,毋庸置疑,這哥倆兒之間也需要一條紐帶揖膜。這條紐帶就是配置文件(Provisioning Profiles)誓沸,配置文件(Provisioning Profiles)中包含著App ID 和 設(shè)備uuid,App ID 也就是Xcode target 配置中的bundle Identifier壹粟。uuid 存在于手機上拜隧,App ID存在于xcode,聯(lián)系就這么通過配置文件(Provisioning Profiles)建立了趁仙。
3) 配置文件(Provisioning Profiles) 和 證書洪添。配置文件中包含著證書,故通過配置文件就可以訪問到證書的一些信息和權(quán)限
3. iPhone 不允許安裝未知來源的應(yīng)用(不像Mac電腦雀费,可以通過 ‘系統(tǒng)偏好設(shè)置’ 里的 ‘安全性與隱私’ 進行修改)干奢,只有當(dāng)一個應(yīng)用程序變的合法(也就是經(jīng)過證書簽名) 才可以安裝到iPhone。想要將一個xcode項目安裝到iPhone 手機上盏袄,需要怎樣的一個流程忿峻?
1) xcode需要配置好使用的證書、配置文件辕羽、和bundle Identifier逛尚。所配置的證書必須存在于所配置的配置文件(Provisioning Profiles)中。所配置的bundle Identifier必須符合配置文件(Provisioning Profiles)中App ID的規(guī)則刁愿。App ID 大概有以下幾種
.............1.? com.company.firstapp绰寞。? bundle Identifier則是com.company.firstapp
.............2.? com.company.*? ? ? ? ? ? ? bundle Identifier則是com.company.任意英文,例如com.company.abc,com.company.cbd 等
.............3.? com.*。? ? ? ? ? ? ? ? ? ? ? ? ? bundle Identifier則是com.任意英文克握,例如com.xx.xxx, com.bb.ccc 等
.............4.? *蕾管。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? bundle Identifier則是任意英文, 例如abc.cbd.xxx, aaa.bbb.ccc 等
2) xcode 使用配置文件中的證書對項目進行簽名。簽名的過程也就是驗證項目bundle Identifier是否符合App ID的規(guī)則菩暗,配置文件中證書的有效性掰曾,iPhone設(shè)備是否存在于證書中 等一系列驗證。
3) xcode ?項目轉(zhuǎn)化為應(yīng)用程序安裝到iPhone中
4.百字不如一圖停团,圖解xcode項目安裝到iPhone的過程(不涉及具體步驟詳情)