2013-07-15 110 views
15

有很多關於iOS發行的信息。我想我理解不同的分佈模型,但我正在尋找將應用程序分發給客戶端的最佳實踐。iOS客戶端企業分佈的最佳實踐是什麼?

我有一個客戶擁有企業開發人員帳戶並使用AirWatch進行MDM。以下是我將如何向他們推薦我們將應用分發給他們的組織,因爲他們沒有任何技術人員對Xcode或iOS開發有任何經驗,他們也不會獲得源代碼的訪問權限:

  1. 添加我作爲他們的開發者賬戶
  2. 的成員,我使用他們的證書
  3. 構建應用程序,我給他們的.ipa以及plist文件或者通過MDM或網站分發。

這是正確的方法嗎?如果我要將這個相同的應用出售給三個客戶 - 我會以不同的方式做到這一點嗎?還有什麼需要通過AirWatch進行分發?

再次尋找最佳實踐和其他人如何處理這種情況。請澄清我是否有任何問題。

更新:謝謝大家的答案。根據我所瞭解的情況,直接取決於客戶如何處理這種情況。最後,客戶把我作爲管理員加入他們的賬戶(我們一起工作了很多)。我能夠創建分發配置文件,構建應用程序並將其部署到他們。並非所有的客戶都會出於安全考慮而這樣做。在這種情況下,他們將需要爲您提供如下所述的證書,或者您需要在其中一臺機器上構建應用程序,如Buckeye下面所述......或通過Apple將應用程序分發給他們。

如果不正確,請隨時更正這些信息。我真的認爲這對於很多開發者來說是有用的信息。

我接受帕特里克的答案,因爲它最接近我的實際做法。

+0

聽起來是正確的 - 儘管你並不需要成爲他們的帳戶中的一員。他們可以爲您提供證書和私鑰。 – Robert

+0

謝謝羅伯特。這是更好的方法嗎?只要問他們的證書和私鑰? – digthewells

+0

這真的取決於客戶端。讓您訪問開發門戶是相當寬鬆的。它自己做更快,而不是通過創建配置文件和證書來談論它們。我最好的建議是讓他們與他們的IT安全部門交談(如果他們有一個?)如果他們可以讓您訪問(作爲團隊代理),那麼它是最好的選擇。 – Robert

回答

5

有兩種方法可以做到這一點,但你都必須添加爲客戶的開發團隊中的一員。完成此操作後,您(或更有可能是您的客戶)將選擇天氣來使用您將要管理的內部證書或您自己的分發證書。

這是可以做到無論哪種方式,它只是誰就有權力在今後使用相同的賬戶下的同一證書提交應用程序的問題。該權限駐留在證書的相關密鑰對中。如果將您添加到客戶的開發團隊並下載他們的分發證書,則不會擁有此密鑰,也不能使用關聯的供應配置文件簽署分發版本。

因此,您必須獲得證書的.p12出口(其中包含鍵)從客戶端安裝在計算機上,這樣你可以用它登錄。這將允許您從您的機器提交,但您隨後擁有您希望保護的客戶私鑰。您的其他選擇是使用您自己的證書籤名請求在客戶的開發者帳戶上創建分發證書。在這種情況下,只有您可以控制證書,並且客戶必須在將來希望與其他開發人員合作時創建新證書。

一旦你這樣做,here是企業分佈的信息指南。

+0

感謝您的回答...請參閱我的問題的更新。 – digthewells

1

你將需要:

  1. 他們的證書。
  2. 他們的供應配置文件。

這是一個相當common practise to do this

+0

感謝您的回答。聽起來像是他們向我提供證書會更好,而不是將我添加爲會員,對嗎? – digthewells

+0

他們沒有必要將您添加爲成員。 – Peres

1

我的問題是,這是正確的方法嗎?

是的。

如果我要將這個相同的應用出售給3個客戶端,我會以不同的方式做到這一點嗎?

不,你會做同樣的事情。您需要使用每個客戶端的分發證書爲每個客戶端單獨構建應用程序。

另一種選擇是構建應用程序並使用B2B distribution mechanism將其出售給客戶。

2

作爲一個企業代理我會告訴你,除非你的客戶住在一塊石頭(從技術上來講關於蘋果開發門戶)我懷疑他們會放棄私鑰和證書。如果他們對源代碼沒有法律/合同的訪問權限,那麼您創建的唯一操作過程就是從您的經驗來看,您將使用源代碼訪問其設施,並將其編譯到包含私鑰&的包裝盒中企業分銷證書,建立&提供IPA,並最終帶回你的源頭。這就是我如何編譯每個版本的第三方供應商,我們不擁有源代碼並需要在內部進行部署。

另一方面,如果客戶出於某種野蠻的原因願意放棄其企業城堡的鑰匙並輸出私鑰&企業發行證書供您使用...爲了您的利益我會以書面形式記錄您的使用範圍與該證書有什麼區別,並以某種方式記錄您在過程結束後刪除密鑰&證書的事實。不要讓自己承擔責任,因爲如果他們與你分享,他們有機會與其他人分享,並且我們都知道,並非所有的發展實體都遵守規則。你不希望被指控以他們的名義創建一些流氓應用程序。

關於重新簽署IPA文件......在iTunes上不會讓你做到這一點。 AW在上傳IPA時詢問IPA,並注意到嵌入式配置文件與重新簽名的IPA和槽不匹配。在安裝應用程序之前,您需要在設備上配置配置文件,但這種情況會變成雞蛋狀況,但AirWatch不會讓您部署應用程序,除非上述嵌入配置文件是正確的。

此外,@Caleb關於B2B是正確的,但定價模式從項目到每個座位(iOS設備)。換句話說,如果您的合同是「您可以在無限數量的設備上安裝此應用程序」,那麼B2B方法將會在每個人的面孔中爆炸。

編輯: 下面是你的編輯在企業中的iOS客戶一個Development Provisioning Profile時選擇: Development Profile

顯然,在這裏你可以挑選&選擇開發人員和他們的設備從可以編譯到該配置文件的門戶網站中。

現在,這裏是你的「選項」編輯Enterprise Provisioning ProfileEnterprise Profile

正如你可以看到你沒有得到編輯的門戶網站用戶或設備都可以使用此配置文件,因爲它依賴於代理的一個選項CSR /私鑰,並部署在全球。

+0

爲什麼不被邀請到客戶的開發團隊,並在他們的賬戶上創建自己的分銷證書,只有您可以訪問密鑰對或CSR文件?這將防止流氓應用程序被髮布,因爲它會由您自己的證書籤名。 –

+0

@ D80Buckeye - 您從客戶那裏獲得證書的問題提出了有效的觀點。最好的解決方案是什麼?帕特里克正在思考我在想什麼。爲什麼不讓他們把我加入開發團隊?這是不是一個好主意的原因? – digthewells

+0

企業分發證書(和後續的分發配置文件)不能像那樣工作,因爲它與代理的CSR相關聯。即使他們邀請您作爲管理員加入開發團隊,仍然無法讓您使用企業證書編譯應用程序。您可以獲得的最遠位置是將應用程序編譯爲與其門戶中的100個測試設備綁定的配置文件。你在這裏堅持使用企業證書的唯一方法是將代理商的私鑰導出到你的機器中。 (1/2) – Dan