1. 說(shuō)一些基本的東西
每一臺(tái)iPhone 都有一個(gè)唯一的uuid。
每一臺(tái)iPhone上的APP 都有一個(gè)唯一bundle Identifier。
每一個(gè)配置文件(Provisioning Profiles)都會(huì)包含一個(gè)App ID, 多個(gè)證書(shū),多個(gè)設(shè)備。
每一個(gè)CSR(開(kāi)發(fā)密鑰) 都只屬于一臺(tái)Mac電腦。
每一個(gè)證書(shū)(Certification)都包含一個(gè)CSR(開(kāi)發(fā)密鑰)
2. ?關(guān)系
1) 證書(shū)可以說(shuō)是Mac電腦和蘋(píng)果官方的紐帶,Mac電腦只有擁有了這條紐帶,安裝在該電腦上的Xcode才可以使用該證書(shū)訪問(wèn)到蘋(píng)果官方的一些信息(也就是說(shuō)Mac電腦擁有了可以把xcode項(xiàng)目安裝到iPhone上的權(quán)限)。
2) Xcode 想要將項(xiàng)目安裝到iPhone 上,毋庸置疑,這哥倆兒之間也需要一條紐帶。這條紐帶就是配置文件(Provisioning Profiles),配置文件(Provisioning Profiles)中包含著App ID 和 設(shè)備uuid,App ID 也就是Xcode target 配置中的bundle Identifier。uuid 存在于手機(jī)上,App ID存在于xcode,聯(lián)系就這么通過(guò)配置文件(Provisioning Profiles)建立了。
3) 配置文件(Provisioning Profiles) 和 證書(shū)。配置文件中包含著證書(shū),故通過(guò)配置文件就可以訪問(wèn)到證書(shū)的一些信息和權(quán)限
3. iPhone 不允許安裝未知來(lái)源的應(yīng)用(不像Mac電腦,可以通過(guò) ‘系統(tǒng)偏好設(shè)置’ 里的 ‘安全性與隱私’ 進(jìn)行修改),只有當(dāng)一個(gè)應(yīng)用程序變的合法(也就是經(jīng)過(guò)證書(shū)簽名) 才可以安裝到iPhone。想要將一個(gè)xcode項(xiàng)目安裝到iPhone 手機(jī)上,需要怎樣的一個(gè)流程?
1) xcode需要配置好使用的證書(shū)、配置文件、和bundle Identifier。所配置的證書(shū)必須存在于所配置的配置文件(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 使用配置文件中的證書(shū)對(duì)項(xiàng)目進(jìn)行簽名。簽名的過(guò)程也就是驗(yàn)證項(xiàng)目bundle Identifier是否符合App ID的規(guī)則,配置文件中證書(shū)的有效性,iPhone設(shè)備是否存在于證書(shū)中 等一系列驗(yàn)證。
3) xcode ?項(xiàng)目轉(zhuǎn)化為應(yīng)用程序安裝到iPhone中
4.百字不如一圖,圖解xcode項(xiàng)目安裝到iPhone的過(guò)程(不涉及具體步驟詳情)
