IOS開發(fā)之——企業(yè)版IDP的申請及“In House”發(fā)布
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
原貼地址:http://blog.csdn.net/kmyhy/article/details/6418280
企業(yè)版IDP,即iOS Development Enterprise Program。注意是$299/Year那種,并不是$99/Year的那種。 這種方式的IDP其最大的好處在于:可以發(fā)布“In House”應(yīng)用。 這種應(yīng)用使用一種叫做“In House Distribution Provisioning Profile”的文件進(jìn)行發(fā)布,不能發(fā)布到Apple Shop進(jìn)行銷售,也不需要經(jīng)過Apple的評審。你可以把“In House”應(yīng)用通過任何方式發(fā)布給你的企業(yè)員工、用戶及其他你認(rèn)可的任何人,尤其適合于企業(yè)應(yīng)用的開發(fā)。 網(wǎng)上關(guān)于個人版/公司版IDP申請流程,以及將應(yīng)用發(fā)布到蘋果商店的介紹有很多,但關(guān)于企業(yè)版IDP以及In House應(yīng)用的討論非常之少(尤其國內(nèi))。下面,筆者將對這兩方面的問題進(jìn)行一個全面細(xì)致的介紹。 1、申請Apple ID 這個步驟就不說了。 2、申請鄧白氏編碼 鄧氏編碼是美國聯(lián)邦政府推薦使用的企業(yè)機(jī)構(gòu)編碼??梢钥闯墒敲绹娴摹敖M織機(jī)構(gòu)代碼”,只不過已經(jīng)得到了聯(lián)合國、澳大利亞政府、歐盟及美國政府的承認(rèn),成為了全球企業(yè)標(biāo)準(zhǔn)。 蘋果公司需要鄧氏編碼才能申請IDP企業(yè)版。這倒不是對國內(nèi)企業(yè)的歧視,而是出于的美國商業(yè)習(xí)慣。在美國所有的采購合同和商業(yè)合同中,都會要求供應(yīng)商提供一個DUNS(鄧氏編碼),否則對方可能不會跟你簽合同。因為所有的美國企業(yè)都使用D&B公司的數(shù)據(jù)庫,這樣才能保證所有企業(yè)編碼不會重復(fù)。 申請鄧氏編碼在D&B公司的網(wǎng)站即可: http://www.dunsregistered.com/ 中文網(wǎng)站“華夏鄧白氏”: 在網(wǎng)站上提交注冊申請后,等待1-2天,對方人員會跟你聯(lián)系(Email)。 原來以為申請會很麻煩(交流上),但實際上是由華夏鄧白氏的中籍文員跟你聯(lián)系的。 鄧白氏注冊服務(wù)有幾個版本,收費情況也不一樣。筆者一開始收到的郵件是“實地核實”的版本,報價15200/2年。 后來經(jīng)與北京蘋果聯(lián)系,只需要購買最基本的“標(biāo)準(zhǔn)版”即可,報價8600元/2年, 有網(wǎng)友說2000-3000元/年,現(xiàn)在看來是不可能了 ,在這個物價飛漲的年代:-(。 聯(lián)系時一定要強(qiáng)調(diào)是購買標(biāo)準(zhǔn)版服務(wù)(最便宜),否則你可能會花冤枉錢。 收到郵件后,把申請表、協(xié)議打印出來,填好并加蓋公章,然后加上企業(yè)營業(yè)執(zhí)照副本、掃描為電子的,發(fā)給對方郵箱。 其實還有一個就是匯款水單(小票),需要發(fā)送給對方。這一步其實可以省略。筆者申請時并沒有email匯款水單 ,只要對方確認(rèn)匯款到帳即可。 大約5-7天后,對方發(fā)來第2封郵件,告訴你貴公司的編碼。此外還可以在網(wǎng)站上安裝一個鄧白氏電子標(biāo)識——在網(wǎng)頁上嵌入指定腳本,則會在頁面上顯示一個D&B圖標(biāo),點擊圖標(biāo)自動鏈接到D&B的網(wǎng)站并呈現(xiàn)你們公司的電子注冊信息。 3、申請IDP企業(yè)版 登錄蘋果開發(fā)者網(wǎng)站iOS Dev Center,申請Apple Developer Program,只不過這次選擇的是iOS Enterprise Program鏈接(在頁面底部)。 點擊Apply Now,下一頁Continue,下一頁選擇“Use an existing Apple ID”,Continue。 下一頁,輸入你的Apple ID、密碼登錄。 后面就是確認(rèn)注冊協(xié)議和填寫你的公司資料了(英文)。內(nèi)容最好同鄧氏的一樣,否則對方會打電話來確認(rèn),需要更改。 填寫完公司資料,還要填寫委托人聯(lián)系資料。注意委托人應(yīng)該有代表公司簽字的授權(quán)(公司認(rèn)可,他們會在電話里確認(rèn))。 提交資料后,可以在郵箱里收到蘋果的郵件,內(nèi)容大概是感謝你提交了申請,申請的編號是多少,公司名稱、郵箱地址等等,如果你想看評審流程,可以登錄Member Center。 接下來就是等待蘋果的電話了。 這個過程大概要2-3天,對方會安排懂中文的人員來電話,如果沒什么問題,接下來(電話之后幾分鐘)會收到蘋果的第2封郵件,大意是要你點擊郵件中的鏈接,查看一個協(xié)議(我不知道這個協(xié)議和第1個協(xié)議有什么不同,反正我直接點同意了)。 協(xié)議同意后,顯示一個頁面,大意是你所申請的國家不支持在線購買蘋果產(chǎn)品(在線支付),需要你下載一個pdf的purchase form: 將它打印出來,根據(jù)要求填好,然后傳真給蘋果。 注意,國內(nèi)信用卡支持美元支付的一般是Visa卡(如招行)和Master卡(如交行),一定要找那種卡上印有“Visa”或”Master”標(biāo)志的信用卡。 Cvc2 code是指信用卡背面的那串?dāng)?shù)字(7位)的末3位。 信用卡地址寫申請信用卡時登記的地址。 因為公司的傳真機(jī)無法發(fā)送國際傳真,我將purchase form掃描后發(fā)給了亞洲蘋果 chinadev@asia.apple.com, 請其轉(zhuǎn)交給 Billing 團(tuán)隊。 亞洲蘋果幾分鐘后自動回復(fù)了一封郵件,并在信中附了一個業(yè)務(wù)流水號: Follow-Up: 149653 xxx 下次再給亞洲蘋果聯(lián)系時,可以附上這個業(yè)務(wù)流水號。 然后3-5個工作日后,約早上6點多收到扣費成功短信(信用卡提供的功能)。登錄郵箱后,果然收到了蘋果的2封email,1封是發(fā)票,上面有你的發(fā)票號碼,單位報賬的時候把這封郵件內(nèi)容打印出來就可以了。另1封是激活郵件,告訴你現(xiàn)在你的idp帳號已經(jīng)生效了,你點擊那個“l(fā)ogin now”按鈕可以登錄到member center,這時可以看到你的developer program overview的狀態(tài)已經(jīng)改變。同時,Peoples中會包含一個成員,這個成員就是你注冊IDP時所綁定的開發(fā)者帳號(Apple ID),同時也是該IDP的Team Admin或Agent。 4、制作iOS 開發(fā)者證書 4.1 在本機(jī)生成證書請求CSR 打開“鑰匙串”應(yīng)用程序,修改偏好設(shè)置如下圖所示: 選擇菜單“鑰匙串訪問 -> 證書助理-> 從證書頒發(fā)機(jī)構(gòu)求證書”. 注意,如果此時密鑰中的某個私鑰處于選中狀態(tài),則菜單會變?yōu)椤拌€匙串訪問->證書助理->用<私鑰>從證書頒發(fā)機(jī)構(gòu)求證書”,這樣制作出來的CSR是無效的。 輸入你的email地址和名字。確保email地址和名字與你注冊為iOS開發(fā)者時登記的相一致。 勾選Saved to Disk(保存到磁盤)及Let me specify key pair information(指定密鑰對信息),然后點Continue。 當(dāng)選擇了Let me specify key pair之后,會要求你指定文件保存位置。接下來按下圖所示指定密鑰對信息: Continue,即生成了CSR文件。一旦生成CSR,在“登錄”鑰匙串中會生成一對密鑰對(一個私鑰,一個公鑰)。你可以在鑰匙串的密鑰欄中查看。 4.2 提交CSR文件 用企業(yè)版IDP綁定的Apple ID( 跟制作CSR時要求輸?shù)牡目赡懿灰恢拢@里是注冊企業(yè)版時綁定的iOS開發(fā)者帳號,即Agent)登錄iOS Provision Portal 。 點擊“Certificates-> Development” 中的 “Add Certificate”按鈕。 接下來點擊最下面的“Choose file”按鈕,選擇所生成的CSR文件,然后點 “Submit”。如果密鑰長度未設(shè)置未2048,Portal會拒絕CSR。 提交CSR后,Team管理員(Agent)會收到一封提醒郵件,主題為 Certificate Request Requires Your Approval,提示你需要去同意該CSR。此時Agent需要登錄Portal去同意該CSR。但實際上,Agent也可能根本不需要去點“同意”,Portal幾秒鐘后就自動同意了——筆者遇到的情況就是這樣的。 4.3 下載并安裝開發(fā)者證書 如果機(jī)器上未安裝WWDR證書,請點擊 “Certificate-> Distribution”中的鏈接“Saved Linked File to Downloads” ,以下載WWDR證書,并通過雙擊WWDR證書進(jìn)行安裝。 在“Certificate -> Development”中, 在Your Certificate下會列出當(dāng)前有效的開發(fā)者證書。 點擊“Download”,即可下載到本機(jī)。下載后雙擊,即可安裝到本機(jī)。 可以在鑰匙串“證書”一欄中查看到導(dǎo)入的開發(fā)證書。 Team 成員只能下載自己的iOS開發(fā)證書。Team管理員有權(quán)下載所有成員的公有證書。蘋果不接受CSR中的私鑰。私鑰僅對創(chuàng)建者有效,并且必須存儲在系統(tǒng)鑰匙串里。 4.4 保存私鑰并遷移到其他系統(tǒng) 如果你在多臺電腦上進(jìn)行開發(fā)或者重裝系統(tǒng),那么把私鑰存儲在安全的地方是件很重要的事情。如果沒有私鑰,你無法在Xcode中簽名代碼并進(jìn)行真機(jī)調(diào)試。 鑰匙串在生成CSR時,就會在“登錄”鑰匙串中創(chuàng)建一個私鑰。該私鑰和你的用戶帳號綁定,如果重裝OS導(dǎo)致該私鑰遺失,則該私鑰無法再次生成。如果你想在多臺電腦上開發(fā)和調(diào)試,你必須將私鑰導(dǎo)入到每一臺機(jī)器上: 在鑰匙串訪問程序中,選擇登錄鑰匙串的“密鑰”??梢钥吹接性S多密鑰對,選擇與你的開發(fā)者證書相對應(yīng)的私鑰(還記得創(chuàng)建CSR時要你輸入的郵箱地址和名字嗎?那個名字會顯示在私鑰的名字上)。然后選擇菜單“文件->導(dǎo)出項目…”,將私鑰保存為.p12格式(Personal Information Exchange)。當(dāng)提示輸入密碼時,設(shè)置一個密碼并記住它,它會在導(dǎo)入.p12文件時使用?,F(xiàn)住,你可以把.p12文件拷貝到其他機(jī)器上并雙擊它進(jìn)行安裝,這時會提示你輸入導(dǎo)出私鑰時設(shè)置的密碼。 5、設(shè)備IDs 所謂設(shè)備ID(device ID又稱UDID)是Apple 設(shè)備上的40位16進(jìn)制碼,每臺Apple設(shè)備的device ID都是唯一的,Apple以此來識別不同的iOS設(shè)備。 我們通過在Provision Portal中錄入設(shè)備的device ID,可以允許開發(fā)者在指定真實設(shè)備上進(jìn)行調(diào)試。在Provision Portal中最多允許輸入100個device ID。 因此,錄入device ID是后續(xù)制作Provision Profile的必需步驟(而Provision Profile又是真機(jī)調(diào)試的必需步驟)。 5.1 獲取device ID 兩種獲取device ID的方式: 把Apple 設(shè)備(iPhone,iPod)連接電腦,打開Xcode的Orgnizer: 把Apple 設(shè)備(iPhone,iPod)連接電腦,打開iTunes: 那個40位16進(jìn)制的數(shù)字就是device ID。 5.2 添加單個device ID 以Team管理員登錄Provision Portal,點擊Devices頁面中的“Add Device”按鈕,在其中輸入: Device Name:設(shè)備名稱,輸入一個描述該設(shè)備的名字。 UDID:即device ID。 點擊提交即可。 6、創(chuàng)建App ID App ID是識別不同應(yīng)用程序的唯一編碼。如果你的程序要連接Apple Push Notification服務(wù)(一種push通知),需要用到App ID。如果應(yīng)用程序之間要共享鑰匙串?dāng)?shù)據(jù),也會用到App ID。總之,App ID在iOS設(shè)備上大量被使用。在這里App ID的最大用處是制作真機(jī)調(diào)試用的Provision Profile(它需要提供一個App ID)。 一個App ID有兩部分構(gòu)成:一個10位字符的Bundle Seed ID前綴,這個Bundle Seed ID由Apple分配,全球唯一,保證不會重復(fù);一個Bundle Identifier后綴,這個Bundle Identifier由Team管理員指派,Apple建議用反域名規(guī)則命名這個Bundle Identifier。例如: 8E549T7128.com.apple.AddressBook. 如果你寫了一系列應(yīng)用程序,它們共用相同的鑰匙串(如共用密碼),或者根本就不使用鑰匙串訪問,你可以只創(chuàng)建一個App ID,所有的應(yīng)用程序都使用以星號結(jié)尾的App ID。這個星號就是通配符,只能用于App ID最后一個字符。例如,這個App ID可以是: R2T24EVAEE.com.domainname.* 或者 R2T24EVAEE.* 6.1 創(chuàng)建App ID 以Agent或Team 管理員登錄Provision Portal,點擊“App ID”頁面中的“New App ID”按鈕。 App ID Name:給這個App ID一個名字。如果存在多個App ID,每個App ID需要一個易于識別的名稱。 App ID:如前面所述,Bundle Seed ID是Apple分配的,其實這里只需要你輸入Bundle Identifier。可以使用統(tǒng)配符*。 7、制作開發(fā)者Provision Profile 擁有了開發(fā)者證書(Development Certificate),只是表明你有權(quán)利在電腦上進(jìn)行開發(fā),在模擬器上運(yùn)行程序,但你還不能在iPhone上運(yùn)行你開發(fā)的程序。其實如果你只是在模擬器上調(diào)試程序的話,要不要開發(fā)者證書都無所謂,因為證書只是用來代碼簽名(Code Sign)的,如果在模擬器上跑的話,你可以選擇不簽名(don’t code sign)。 如果要在真機(jī)上調(diào)試就不一樣了。它需要一個Provision Profile,沒有這個Provision Profile,蘋果設(shè)備無法安裝運(yùn)行你開發(fā)的程序。這個Provision Profile中記錄了一些信息:開發(fā)者證書、開發(fā)者Apple ID、一系列設(shè)備ID(開發(fā)者可以使用哪幾部設(shè)備進(jìn)行調(diào)試)。 7.1 創(chuàng)建開發(fā)者Provision Profile 以Agent登錄Provision Portal,在“Provisioning->Development”,點擊“New Profile”按鈕。 Profile Name:輸入Profile的名字,隨意。 Certificate: 選擇開發(fā)者證書。 App ID:選擇一個App ID。 Devices:設(shè)備ID列表。 點擊“Submit”,即會生成Development Provisioning Profile。 7.2 安裝Development Provision Profile 所有Team成員都可以下載Development Provision Profile。但只有Profile中記錄了設(shè)備ID的設(shè)備以及iOS開發(fā)者證書所指定的開發(fā)者能夠使用這個Profile。 在Portal的“Provisioning->Development”,點擊某個profile右邊的“download”按鈕。下載profile后,將下載到的文件拖拽到桌面Dock面板的Xcode圖標(biāo)上(或者直接拖到Xcode的Orgnizer中)。這會將profile文件拷貝到~/Library/MobileDevice/Provisioning Profiles目錄。 7.3 簽名并調(diào)試 在Xcode中打開工程,選中 Target,打開info窗口,在Build面板中找到“Code Signing Identify”,打開并點擊下面的“Any iOS Device” : 在彈出菜單菜單中選擇你的簽名,該簽名應(yīng)當(dāng)和一個灰色的Profile對應(yīng)。這個Profile就是我們前面安裝的Development Provision Profile。例如,我們在7.1中創(chuàng)建的Profile 的Profile Name為My First Development Provisioning Profile,那么我們選擇的簽名就是位于“My First Development Provisioning Profile”(顯示為灰色)下面的Team Leader的開發(fā)證書。也就是說“My First Development Provisioning Profile”中綁定的開發(fā)證書是Team Leader簽名的。 在Properties面板(其實就是info.plist中的內(nèi)容),根據(jù)你的App ID設(shè)置你的Bundle Identifier。如果你的App ID是A1B2C3D4E5.com.domainname.applicationname( 我們在前面創(chuàng)建的App ID),那么Bundle Identifier可以是 com.domainname.applicationname 。如果App ID使用了通配符,比如A1B2C3D4E5.com.domainname.* ,則Bundle Identifier可以是com.domainname.<任意字符>。 點擊項目窗口左上角的下拉框,選擇“ Device | Debug ”,然后點擊“Build and Debug”按鈕,編譯并在真機(jī)上運(yùn)行程序。 8、發(fā)布應(yīng)用程序 發(fā)布應(yīng)用程序需要使用發(fā)布證書(Distribution Certificate)。發(fā)布證書的制作,跟制作開發(fā)者證書的步驟是一樣的,只不過使用的是Provision Portal的“Certificates->Distribution”功能。 把制作號的發(fā)布證書下載、安裝到本機(jī)。 但是發(fā)布用的Provision Profile稍有不同。 企業(yè)版IDP只有兩種發(fā)布方式:In House和Ad Hoc。兩種Profile制作步驟稍有區(qū)別。 用In House方式發(fā)布是企業(yè)版IDP真正區(qū)別于其他版本的IDP所在。我們重點介紹In House方式的發(fā)布。 8.1 制作In House 方式的Destribution Provision Profile 以Team Admin登錄Provision Portal,打開“Provisioning Distribution”頁面。 Distribution Method:發(fā)布方式,選擇In House。 Profile Name:Profile名稱,用于區(qū)別多個Profile。 Distribution Certificate:選擇要在Profile中綁定的發(fā)布證書。 App ID:指定一個已有的AppID。 Devices(optional):要綁定的device ID。由于In House方式可以在任何Apple 設(shè)備上發(fā)布,所以不需要設(shè)定Devices,這一項為空。 點擊“Submit”,生成Profile。將Profile下載到本地進(jìn)行安裝。方法:把Profile文件拖拽到Dock上的Xcode圖標(biāo)。 8.2 制作Ad Hoc方式的Distribution Provision Profile 以Admin或Agent登錄Provision Portal。 打開“Provisioning Distribution”頁面。 與In House方式大同小異,只不過發(fā)布方式選擇Ad Hoc,同在Devices(optional)欄勾選要綁定的device ID,最多可選擇100個。 點擊“Submit”,生成Profile。將Profile下載到本地進(jìn)行安裝。 8.3 編譯In House發(fā)布版本 打開你的工程。在工程的info窗口的Configuration面板,從Configuration列表中選擇Release,點擊“Duplicate”按鈕,將復(fù)制出來的Configuration改名為Distribution。 打開Target的Info窗口,在Build面板,將Configuration修改為Distribution: 點擊“Any iOS Device”,在彈出菜單中選擇對應(yīng)Profile下對應(yīng)的發(fā)布證書,這個Profile應(yīng)該就是前面6.1中制作并安裝的In House 方式制作的Distribution Provision Profile(還記得Profile Name嗎?): 切換到Properties面板,在Identifier欄輸入Bundle Identifier。該Bundle Identifier應(yīng)根據(jù)App ID填寫。 在工程窗口,選擇當(dāng)前配置為Distribution: 點擊“File->New File”菜單,然后選擇“Code Signing->Entitlements”: 打開Entitlements.plist,反選“get-task-allow”,保存。 該選項允許其他進(jìn)程(比如調(diào)試器)附加到你的程序,當(dāng)然,在發(fā)布階段,這個選項應(yīng)當(dāng)設(shè)置為false。 注意,根據(jù)Apple的文檔,iOS 4.0/Xcode3.2.3之后創(chuàng)建的Entitlements文件不再包括get-task-allow選項——默認(rèn)情況下,如果Entitlements中沒有g(shù)et-task-allow選項,則不允許附加進(jìn)程(即無法調(diào)試)。 在調(diào)試配置下運(yùn)行時,你不需要Entitlements文件,因此是允許附加進(jìn)程的(可以進(jìn)行調(diào)試)。但是有時候,你已經(jīng)有了一個Entitlements文件(比如你已經(jīng)運(yùn)行過Distribution配置),如果你再次運(yùn)行Debug配置,則程序無法啟動,因為get-task-allow默認(rèn)為false(iOS 4.0及Xcode3.2.3以后)。這種情況下,請手動添加一個boolean類型的get-task-allow鍵,并設(shè)置為false。 再次打開Target的Build設(shè)置面板。在“Code Signing Entitlements”中,輸入Entitlements.plist的文件名。 點擊“Build”編譯。注意:你需要準(zhǔn)備一個57*57像素的圖標(biāo),iPhone和iPod會在主屏上顯示該圖標(biāo)。 選中工程文件夾Products下面的.app文件,然后點擊Action下拉菜單中的Reveal in Finder。 8.4 制作安裝包 iPhone應(yīng)用程序的安裝文件主要有兩種:.ipa格式和.app格式。前者是以.ipa為后綴名的文件(已經(jīng)包含了ProvisionProfile文件),后者實際是以.app為后綴的文件夾(不包含ProvisionProfile文件)。因此,前者可以直接發(fā)布給用戶進(jìn)行安裝,而后者需要和ProvisionProfile文件打包在一起進(jìn)行發(fā)布。 8.4.1 制作ipa包 當(dāng)把.app文件安裝到iTunes的資料庫之后,應(yīng)用程序就是以.ipa的方式存在了。在“資料庫->應(yīng)用程序”中選中這個應(yīng)用程序圖標(biāo),右鍵,選擇“在Finder中顯示”,然后就可以在Finder中把這個.ipa文件拷貝出來了。.ipa文件即可用后面的方法進(jìn)行安裝。 8.4.2 制作rar/zip包 把編譯后的.app文件和ProvisionProfile文件一起壓縮為rar/zip文件,即可發(fā)送給其他人進(jìn)行安裝,或者發(fā)布到網(wǎng)絡(luò)上以供下載。注意,不要使用Mac自帶的歸檔工具。因為windows使用ANSI編碼而Mac使用Unicode編碼,二者互不兼容,這樣使用歸檔工具壓縮出來的rar/zip包無法在windows下解開。你可以使用開源的壓縮工具keka: http://www.kekaosx.com/release/Keka-0.1.4.2.dmg keka能制作在windows下兼容的壓縮包。解壓縮后的文件可用后面介紹的2種方法之一進(jìn)行安裝。如果一種方法不能安裝,可換用另一種方法。 8.5 安裝應(yīng)用程序 Ad Hoc或In House發(fā)布的應(yīng)用程序,可以將.app與Provision Profile文件打包在一起發(fā)送給用戶。用戶可以用兩種方式安裝:使用iTunes,或者使用iPhone配置使用工具。 8.5.1 使用iTunes 用戶將壓縮包中的.app和Provision Profile文件拖到iTunes的“資料庫->應(yīng)用程序”下,然后和iPhone/iPod進(jìn)行同步。 8.5.2 使用iPhone配置實用工具 iPhone配置工具是完全免費的,你可以從這里下載: http://support.apple.com/kb/DL926?viewlocale=zh_CN 安裝后會在“應(yīng)用程序/實用工具”中生成一個快捷方式“iPhone配置實用工具”。 同樣,將iPhone/iPod連上電腦,打開“iPhone配置實用工具”,將.app和Provision Profile文件拖放到“iPhone配置實用工具”的“資料庫->應(yīng)用程序”下,然后選中你的iPhone/iPod,在右邊“安裝或刪除應(yīng)用程序列表”中,點擊某個應(yīng)用程序右邊的“安裝”按鈕進(jìn)行安裝。 9、問題及錯誤 如果Xcode出現(xiàn)Code sign錯誤: Code Sign Errors: profile doesn’t match any valid certificate/private key pair in the default keychain 同時在Organizer中出現(xiàn)下列提示: A valid signing identity matching this profile could not be found in your keychain 則需要把鑰匙串中的所有證書和密鑰刪除,然后重新請求證書、修復(fù)provision profile、下載并安裝,一般可以得到解決。 該文章在 2015/5/15 10:00:33 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |