簡體   English   中英

使用XCode將同一iOS應用程序的多個版本安裝到iPhone的最佳方法是什么?

[英]What's the best way using XCode to install multiple builds of the same iOS app to your iPhone?

我經常發現我需要在我的iPhone上構建一個可以指向我的演示服務器的“演示就緒”版本。 我還想要一個構建,這是我正在開發的最新和最好的調試構建,指向我的開發服務器。 有沒有人找到一個非常簡單的方法讓我安裝兩個可能是相同代碼但指向不同服務器的應用程序? 或者也許我會有一個應用程序,它是最新版本背后的幾個版本? 我最好使用相同的XCode項目來構建和安裝到iPhone上。

您可以為每個使用不同info.plist文件的特殊構建配置添加。 因此,也許對於您的演示,您有一個名為MyApp-Info-DEMO.plist的info.plist和發布的MyApp-Info.plist。

然后,您可以將您的服務器變量添加為info.plist變量,並在應用程序啟動時查找它。 或者甚至只是在新配置中創建一個DEFINE語句,類似於演示的SERVER = demo.myserver.com和實時的SERVER = production.myserver.com。

最重要的部分是更改新info.plist中的CFBundleIdentifier。 因此,在您的演示中,您可以將其命名為com.mycompany.myapp.DEMO,真正的可能就是com.mycompany.myapp。

這將允許兩個版本同時出現在手機上(不同的CFBundleIdentifiers)。 請記住,如果您使用應用內購買或服務器推送通知,如果沒有針對您的真實應用標識符和演示應用標識符的單獨的特定配置文件,您將無法執行此操作。

您可以使用2個不同的info.plists和2個不同的預處理器定義創建2個不同的目標(在2個目標中的每個目標的構建設置中)。 然后預處理器上的ifdef定義選擇編譯器為每個目標使用的服務器常量。

然后在兩個不同的目標設置中使產品名稱和包ID不同(這樣設備或模擬器都不會混淆兩個應用程序包)。

使用當前版本的Xcode,您可以通過更改應用程序的Info.plist文件來使用不同的包標識符(並且還可能在構建設置中更改應用程序的產品名稱)來實現此目的。

即將發布的Xcode版本,從我在預發布文檔中讀到的,有一個功能,可以簡化你想要做的很多。 但是,由於預發布軟件受NDA保護,我無法向您提供任何詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM