我正在開發一個iOS應用程序,該應用程序應該被標記爲不同的客戶。目前的問題是我需要兩個版本的應用程序(一個用橙色主題,另一個用紅色主題)同時安裝。完成此操作的最佳方法是什麼?安裝兩個版本的相同iOS應用程序
回答
您只需要使用兩個不同的捆綁標識符。這可以在info.plist中設置:CFBundleIdentifier
。 您可能想要設置使用不同版本的info.plist的不同目標或方案。
我更喜歡在沒有維護兩個單獨的plist文件的情況下通過在「存檔」操作的自定義「Pre-actions」構建腳本中對plist文件進行後處理。
這有助於避免某些人在更改某些內容時忘記更新兩個plist文件的問題。
我使用這種機制來構建可以上傳到TestFlight的應用程序的測試版本,以便我的測試人員可以同時安裝實時版本和當前測試版本。
(注:雖然這個劇本要「預動作」一節中,這是一個真正的後處理步驟,因爲它發生的XCode已經做了所有的變量替換後進入plist文件)
設置(這些說明適用於XCode 5.0.1),重複您現有的方案並將其稱爲適當的。
選擇「編輯方案」,並展開左側選項卡中的「存檔」項目。這應該給你「預先行動」,「存檔」和「後行動」子項目。點擊「預先操作」之一,然後在右側的選項卡中,點擊底部的「+」以添加新的「運行腳本操作」。
我在我的構建腳本中使用Ruby,所以我在頂部的「Shell」框中輸入「/ usr/bin/ruby」,但顯然你可以在bash或類似的地方做同樣的事情。
在「Provide build settings from ...」下拉列表中選擇您的項目。
然後你就可以在底部的框下面的代碼的一些變種粘貼(或把它放在一個文件,並將該文件拖動到箱):
def changeBundle(file)
oldId = `/usr/libexec/Plistbuddy -c "print :CFBundleIdentifier" #{file}`.strip
system("/usr/libexec/PlistBuddy -c \"Set :CFBundleIdentifier #{oldId}_test\" #{file}")
oldName = `/usr/libexec/Plistbuddy -c "print :CFBundleDisplayName" #{file}`.strip
system("/usr/libexec/PlistBuddy -c \"Set :CFBundleDisplayName #{oldName}-Test\" #{file}")
end
changeBundle("#{ENV['CODESIGNING_FOLDER_PATH']}/Info.plist")
此更新CFBundleIdentifier(添加'_test')和CFBundleDisplayName(添加'-Test'),以便應用程序明顯不同。自定義以進行所需的任何更改。
更改文件的代碼位於函數中的原因是,如果需要,可以輕鬆地對多個plist文件進行相同的更改。
在這種情況下,您不需要這樣做(因爲您可能只是想更改進入輸出存檔文件的內容),但我的其他一些構建腳本會自動更新版本號,並且我希望這些更改能夠被檢入到git中。如果你需要做這樣的事情,你可以修改源plist文件,也可以在底部添加這個文件:
changeBundle("#{ENV['PROJECT_DIR']}/#{ENV['INFOPLIST_FILE']}")
- 1. 安裝兩個不同版本的應用程序
- 2. 如何在iOS上安裝同一應用程序的兩個版本?
- 3. 無法安裝具有相同版本的應用程序
- 4. 安裝一個lightswitch應用程序的兩個版本
- 5. 瞭解首次安裝哪個版本的應用程序 - iOS
- 6. 如何安裝應用程序的兩個版本
- 7. 在兩個仿真器上安裝相同的應用程序
- 8. 在同一個iOS設備上安裝開發應用程序的版本?
- 9. 相同應用程序的兩個版本
- 10. 相同應用程序的兩個版本
- 11. Wix安裝相同版本
- 12. 不同版本的IOS應用程序
- 13. IOS - 從應用程序商店安裝的舊應用程序版本
- 14. 如何測量iOS應用程序版本的安裝次數
- 15. python:安裝兩個版本的相同模塊
- 16. 通過WIX安裝與多個安裝程序相同的應用程序
- 17. 的iOS 7和iOS 6的不同版本相同的應用程序
- 18. iOS應用程序安裝
- 19. ASP.NET:多個程序集版本,相同的Web應用程序
- 20. 在同一個設備上安裝同一個應用的兩個版本
- 21. 節點版本衝突|安裝了兩個不同的版本
- 22. 建設兩個版本相同的Android應用程序和同一設備
- 23. iOS應用程序版本
- 24. 同一應用程序的兩個不同版本
- 25. 安裝和部署 - 在.Net中安裝兩個不同版本
- 26. 上傳同一個iOS應用程序的多個版本
- 27. iPhone - 兩個相同的應用程序
- 28. 應用程序安裝兩個圖標
- 29. 如何在我的手機上安裝兩個版本的應用程序?
- 30. 我的應用程序安裝兩個應用程序 - Android
簡單而有效,謝謝! – user1354603