2013-03-06 191 views
7

我一直覺得,對於iOS來說,使用開發人員配置配置文件簽署構建允許應用程序在授權設備上運行(並進行調試)(列在開發中配置文件),而使用分發配置文件進行簽名則允許應用程序在其他iOS設備上運行(但未調試),這些設備已專門添加到分發配置文件以用於QA/beta測試/ etc(並通過iTunes同步或OTA分發安裝),而無需那些QA/beta測試人員甚至知道XCode是什麼。iOS開發人員版本與發佈版本

都是符合幾個蘋果自己的文檔的:

「當你準備好分享您的用戶測試應用程序[...],你需要 創建使用應用程序的存檔發行配置 文件並將其發送到應用測試」(source

代碼簽名開發概要文件允許您的應用程序通過Xcode在 設備上運行,並且使用分發概要文件簽名允許您創建分發版本 。

命名爲「iPhone開發」的證書,您可以運行/調試通過Xcode的iOS設備上 的應用程序,並命名爲「iPhone 分配」證書允許測試您提交建立與特設 分佈(source

這似乎暗示了使用分佈配置文件是在App Store之外進行應用程序共享所必需的,多年來我一直認爲這是真實的。然而,最近我看到一個來自另一位同事的用例,他們只能使用開發配置文件與許多其他人共享構建。另一個用戶在這裏描述了類似的發現:Why not use development provisioning instead of ad hoc?

我擔心我可能會在這裏丟失一些東西,我現在懷疑有些情況下只要其他用戶有權訪問相關的開發人員設置配置文件,其中包括他們的設備的UUID,並將其安裝到他們的設備上(拖入iTunes,配置工具等),他們將能夠通過iTunes同步開發人員版本,而無需進行單獨的發佈版本構建。

這讓我質疑了一些關於開發者和發行版本之間差異性質的假設。我開始認爲它更多的是關於調試支持和一般的安裝方便性,而不是它的安裝方式(XCode vs iTunes/OTA明確)。總之,如果一個設備的UUID包含在開發者配置文件中,我真的需要需要來做出獨立的發佈版本,或者我可以簡單地共享一個發佈版本構建,並假設它可以與iTunes同步以及?組織者中的「用於開發」按鈕與此有什麼實際相關性?

更廣泛地說:開發者與AdHoc構建之間在開發/測試階段提交給App Store之前如何在組織內的其他人之間共享的基本區別是什麼?

+0

臨時構建用於在組織內分發。 – 2013-03-06 08:45:10

回答

2

請檢查此SO Post,瞭解開發人員與分發版本之間列出的差異。從開發人員的角度來看,如果您不想測試推送通知,您是想通過使用開發人員配置文件還是分發配置文件進行簽名來分發應用程序,則沒有太大區別。

+0

您能否詳細說明測試推送通知方面的差異? – 2013-03-06 08:18:33

+1

生成的設備令牌在開發和分發時不同。如果要在推出到應用商店之前測試推送消息,則唯一可用的選項是創建臨時分發版本。 – ashokbabuy 2013-03-06 08:27:45

+0

不,可以使用開發人員構建測試推送通知。在我目前的項目中,我已經這樣做了近3年。 – 2013-03-06 08:40:17