關于企業版賬號的備忘

來龍去脈

  • 測試說企業版打出來的包不能安裝到手機,用iTools安裝,包“驗證失敗”
  • XCode試,模擬器是沒有問題的,可以正確編譯、安裝、執行。用真機也不行了,報代碼簽名錯誤,詳細信息是所選擇的手機不在信任列表里... ...
    這是企業版賬號啊,跟手機有什么關系?這個企業版賬號跟普通的App Store的賬號好像沒什么區別啊。
  • 在運維的幫助下,登錄蘋果開發者后臺賬戶,看到了兩個Provisioning Profile,對應于兩個證書,分別是DevelopmentDistribution,確實和App Store的賬號一模一樣。
  • 在跟運維確認了這是企業版賬號之后,我決定找找原因看,這個有點顛覆自己對企業版的認識,記得自己是在2013年左右玩過企業版的,看來蘋果又改什么東西了,知識需要更新了。
  • 同事推薦了下面的第一篇參考文章,我就照著做了。現在的賬號一律不動,自己就新建一個賬號試試。
  • 鑰匙串中生成一個CertificateSigningRequest,發給蘋果,生成一個新的證書。
  • 下載生成的證書(.cer文件)到本地,并雙擊一下安裝到自己mac的鑰匙串中。這個步驟很重要,不然的話XCode中會顯示證書不對。當時折騰了好幾次才知道這個小細節。
  • AppID已經生成好了,不用動。設備ID雖然有這一欄,始終認為企業版不需要管設備ID,一致沒動。
  • 接下來就是生成Provisioning Profile,這里唯一要注意的是類型要選擇In-House。生成后,發現類型是Universal Distribution
  • 采用這個新證書,用XCodeRun選項來裝。結果是能裝上,但不能運行和調試,一閃就退出了。手機上的程序可以點擊打開,功能正常。瞬間了解了,這是發布版,是Release模式,當然不能用XCode調試啦(現象是閃退,但是程序已經正確安裝到手機上)。這個和普通的release是一個現象。
  • 打包,導出ipa,再用iTools安裝,一切正常了。

原因分析

  • 經歷過一次,終于明白,企業版也分為開發模式和發布模式
  • 開發模式也是Development,可以連XCode調試,不過手機的UUID也要添加。(這一點以前一直沒有認識到。一直認為,企業版跟手機的UUID應該無關才對)
  • 企業版的發布模式應該選In-House,最后的類型應該是Universal Distribution才對。那個Distribution的證書是沒有用的。
  • 運維按照普通賬號的操作方式來套用了,給了我們Development模式的Provisioning Profile,手機的UUID也沒有加,所以出現了測試同學無法安裝的問題。

對應措施

  • 知道了原因,改起來就快了,直接用新的Universal Distribution模式的Provisioning Profile來簽名就可以隨便安裝了。
  • 企業版只是作為內部的試用版發布,沒必要調試,所以Development模式暫時不準備啟用。要添加手機的UUID,直接用普通版的就可以了,沒有必要上企業版。
  • 自己macp12要導出,讓運維導到打包服務器的mac

參考文章

蘋果企業賬號發布APP詳解——通過自己網站分發應用
這篇文章不錯,可以照著做,是一個操作手冊

iOS App 簽名的原理
對蘋果的簽名機制研究得比較透徹。值得好好看看

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容