2017-10-17 84 views
2

我跟着下面的文章,以使相同的應用程序要在同一設備上多次安裝的每個環境(DEV,UAT,釋放):部署配置文件藉助多個方案&推送通知

https://medium.com/@danielgalasko/run-multiple-versions-of-your-app-on-the-same-device-using-xcode-configurations-1fd3a220c608

我遇到了一個問題,我不確定如何解決。我們現在每個環境都有唯一的捆綁ID。我們需要將應用程序的各種風格分發給用戶,因此我們需要分發和開發配置文件。由於我們有多個方案,每個方案都有自己的捆綁ID,因此我們需要爲每個方案設置配置文件(由於推送通知權限,不能使用通配符)。我們需要檢查分發配置文件到我們的回購站,因爲我們使用CI的bitrise,它需要一個分發配置文件歸檔應用程序,所以每次我們想要削減本地構建並在設備上運行時,我們需要將供應配置文件更改爲dev變體,並記住不要檢查回購中的更改。

這似乎有點倒退,有沒有更有效的方法來處理這種情況?

+0

您可以爲不同的構建配置指定單獨的代碼簽名標識或設置配置文件。在構建時不需要嘗試替換單個配置配置文件。只需爲不同的捆綁ID提供單獨的供應配置文件,並在您的項目生成設置中爲每個已創建的生成配置選擇適當的配置文件。僅供參考,我們這樣做,它完美地工作,使我們能夠同時在同一設備上安裝同一應用程序的多個版本。 – wottle

回答

1

解決這個問題的一種方法是將您的應用程序的每個「版本」構建所需的設置編碼到用於構建的命令行工具中。 fastlane幾乎是這個的標準工具。您可以設置多個「通道」,這些通道將使用不同的方案和/或供應配置文件構建您的應用。它還有一個機制,可以讓您將配置文件存儲在單獨的,加密的git倉庫中。

我的經驗是,如果你正在使用CI服務進行構建,可能會有點費勁,尤其是當你使用CI服務進行構建時,但是一旦你有了它,你就可以更容易地確保構建正確的二進制正確的選擇。

0
  1. 我建議您只爲Apple企業/開發人員帳戶中所需的所有方案單獨創建APP ID。

  2. 然後只要確保所有的APP ID都使用推送通知的開發和分配都啓用。我認爲分配是足夠的。

  3. 現在在你的Xcode中,讓所有方案中的Option都設置爲自動配置,這樣你就可以擺脫頭痛的問題,Xcode會處理這個問題。

  4. 現在告訴你的服務器人員爲APNS Distribution證書巧妙地處理.p12,併爲每個證書設置密碼,併爲每個應用程序觸發推送它應該沒問題。確保他選擇了SANDBOX,如果它的開發APNS證書給出的話,或者如果它的分發證書被給出,則選擇LIVE模式。