2010-07-09 36 views
4

我喜歡在自己的手機上保留一個商店購買版本的iPhone應用程序,這樣我就可以重現出現的任何客戶問題,但我顯然也想運行最新的開發版本。我可以安裝兩個(一個來自iTunes,一個來自xCode),但我感興趣的是我能更好地將兩者區分開來。我可能只是暫時更改名稱或圖標,但這似乎並不是非常安全,即我可能會忘記和運送錯誤的圖標。區分開發iPhone應用版本

有沒有一個快樂的開發時間開發者的方式來做到這一點?

回答

7

我受到Eric向項目添加用戶定義設置的想法的啓發,但我不想在每次構建項目時都運行腳本。

我們知道iPhone默認會查找名爲「Icon.png」的圖標文件。事實證明,如果您已正確命名圖標,則項目plist中的「圖標文件」設置完全不必要。但是,如果項目中沒有名爲「Icon.png」的文件,xCode會查看「圖標文件」設置的值。

我在「調試」中將用戶定義的設置稱爲「Icon_Name」,設置爲非標準圖標名稱,「DevIcon.png」和「ReleaseIcon.png」用於「發佈」配置。項目plist中的「圖標文件」設置現在可以設置爲$ {ICON_NAME},並將採用我們正在使用的任何配置文件的值。現在在兩種不同的配置下建立使用兩個不同的圖標。

編輯:對於多個圖標(高分辨率,小,ipad等),我做了一個稍微不同的方法。用戶定義的設置現在是「IconPrepend」,它是用於調試的「Dev」和用於發佈配置的「Release」。我現在在使用字符串數組的信息plist中使用「圖標文件」(而不是「圖標文件」)。每個字符串前綴爲$ {ICONPREPEND},以便調試配置查找「DevIcon.png」或「[email protected]」,發佈配置查找「ReleaseIcon.png」或「[email protected]」。

+0

不錯!我想我會自己使用這個。 :) – Eric 2010-07-09 18:34:56

+0

正常情況下,當我找到我喜歡的答案時,我只是贊成它並繼續前進。但是這是一個很酷的小動作,我只是不得不發表評論說,謝謝!現在我有一點「測試版!」我的AdHoc構建圖標上的標誌。很酷。有一個upvote。 – 2012-06-08 03:35:52

0

很可能沒有別的辦法。您的應用商店版本和開發版本與操作系統完全不同。如果你想區分,你需要改變圖標或名稱。您還可以在開發版本中包含一些調試標籤(例如版本號),但您也可能忘記刪除此標籤。

0

也許你只是買第二個iPhone?認真。在你的位置,我會問你同樣的問題,但我一定會考慮這樣一個解決方案。如果我是一個iPhone(或任何其他特定平臺)的開發者,我很可能會有不止一個。

1

這裏有一個想法 - 如果您只在USE_DEV_ICON = YES(或其他)的行中爲您的Project Build屬性設置了User-Defined Setting。然後,使用Build Target中的「Run Script」選項,您可以根據您調用的哪個Active Configuration複製不同的圖標。

沿(僞代碼)東西線:

if ($USE_DEV_ICON == YES) 
    cp DevIcon.png Icon.png 
else 
    cp RealIcon.png Icon.png 

然後每次構建的時候,根據活動的配置,它會複製正確的圖標。

0

難道你不能在Info.plist文件中創建一個具有不同Bundle名稱的新目標,並且每當你想要構建應用程序以在iPhone上運行時使用該目標?