2011-05-04 69 views
5

問候,如何編碼自動生成的iOS應用程序?

我在寫一個web服務器腳本,讓您創建自定義iOS應用(主要是交換標識和其他一些東西)的進展情況。 Web服務器定製先前上傳的「shell」.ipa並重新壓縮整個容器以將其發送到用戶的瀏覽器。那就是:我們在Web服務器上自定義以前上傳的.ipa,並讓用戶下載它以提交給App Store。

下一步將是對整個.ipa進行重新編碼,因爲我們更改了.IPA內容,並且用戶必須使用自己的簽名標識才能真正將其上傳到App Store。

據我瞭解,有一個「CodeResources」文件,其中包含某種散列在軟件包中的每個資源文件和可執行文件包含某種嵌入的簽名也是如此。要生成這些文件,您必須在用戶的計算機上使用「codesign」實用程序,然後使用Application Loader將其提交給App Store。正確到目前爲止?

我試圖找出是:

  1. 有沒有辦法來協同設計在服務器上的.ipa(與具有用戶上傳自己的證書事先),讓他沒有任何額外的工作要做?
  2. 如果1)是不可能的,是否有某種工具允許重新編碼.ipa沒有太多麻煩? Xcode似乎需要一些項目設置工作才能做一些代碼簽名 - 如果可能的話。
  3. 是否有任何替代方法可以爲用戶編碼.ipa文件 - 可能無需手動手動執行?

在此先感謝!

回答

3

我不喜歡回答我自己的問題,但我想經過這麼長時間關閉此。

我們結束了使用Xcode的目標和計劃,緩解了許多不同的應用程序的產生。由於我們有適當數量的應用變體,因此現在看起來可以。

代碼簽名是一個爛攤子和蘋果不斷地改變它背後的技術過程 - 因此它是一個移動的目標,需要很多黑客和試錯的工作。

+0

badcat,我目前正在做類似於你的項目的東西,並想知道你是否可以分享一些見解。 – KING 2014-05-22 15:16:34

+0

原來,我終於找到了一種使用'codesign'命令行工具的方法。主要的問題是沒有正確解壓縮IPA壓縮文件,導致代碼簽名和安裝過程中出現錯誤的符號鏈接並最終導致錯誤。我最終可能會爲此寫一篇博客文章/指南。 – BastiBen 2014-05-23 12:07:02

+0

是的,Codesign命令行工具確實有效(正在使用它)。我遇到的問題是配置文件。我創建了一個不帶CodeSigning的.app文件,並且沒有使用Provisioning配置文件,後來我對該.app文件進行了一些自定義設置,Apple允許您的CodeSign創建一個.app文件,但是沒有命令行工具可將Provisioning配置文件應用於現有.app文件,除非您將其複製到目錄中。對於長時間的評論感到抱歉,但我一直在研究這個話題一段時間,而你唯一的一個,至少在我看來已經表達過類似的話題。 – KING 2014-05-23 14:10:53

4

Xcode使用的codesign命令行實用程序來創建CodeResources文件夾和數字簽名,你可以自己調用它簽署一個應用程序捆綁的Xcode之外。如果服務器運行的是Mac OS X,則可以在服務器上自動執行此操作;如果你真的很聰明,你也許可以弄清楚如何使用openssl自己創建簽名(簽名證書等都是標準的東西)。或者,如果您可以指望安裝了開發工具的用戶,請爲他們提供可自動爲其簽名的應用程序。

這裏的a blog entry describing some of the process(雖然使用情況稍有不同)。

+0

我也在尋找創建自定義應用程序並自動創建IPA的方式,如替換圖標,閃屏,應用程序名稱,歸檔應用程序,獲取IPA。你可以給我一些信息/博客/教程如何以及從哪裏開始? – Honey 2015-12-08 06:29:19

相關問題