以實(shí)例演示Xcode中的Targets如何管理開發(fā)的構(gòu)建的
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評論(0)
標(biāo)準(zhǔn)的軟件開發(fā)實(shí)踐是在不同的開發(fā)環(huán)境下開發(fā)不同版本的軟件,像我們案例中講到的開發(fā)iphone應(yīng)用。應(yīng)用程序的開發(fā)版本通常使用一個(gè)不同于生產(chǎn)環(huán)境的數(shù)據(jù)庫(或如分析的其他系統(tǒng))。這就是為什么我們應(yīng)該為不同的環(huán)境中使用單獨(dú)的服務(wù)器和數(shù)據(jù)庫。開發(fā)人員在測試期間通常都使用虛擬圖像或虛擬數(shù)據(jù)。在測試環(huán)境中,使用諸如 “test comment”, “argharghargh” 和 “one more test comment”之類的測試數(shù)據(jù)并不少見。顯然,你不希望你的真實(shí)用戶看到這樣的消息。如果你的應(yīng)用程序使用了一個(gè)分析系統(tǒng)的情況下,你甚至?xí)跍y試階段發(fā)送成千上萬的事件。同樣的,你不會把測試數(shù)據(jù)和生產(chǎn)數(shù)據(jù)放在同一個(gè)數(shù)據(jù)庫中。這就是為什么總是推薦區(qū)分開發(fā)和生產(chǎn)環(huán)境。
在使用兩個(gè)獨(dú)立的環(huán)境時(shí),你的應(yīng)用程序需要有一個(gè)辦法找出它應(yīng)該連接到的環(huán)境。一種常用的方法是在你的主應(yīng)用代理里定義一個(gè)全局變量,它會將您的應(yīng)用程序初始化為開發(fā)或生產(chǎn)模式。
enum environmentType {
case development, production
}
let environment:environmentType = .production
switch environment {
case .development:
// set web service URL to development
// set API keys to development
print(“It‘s for development”)
case .production:
// set web service URL to production
// set API keys to production
print(“It’s for production”)
}
這種方法需要你每次切換環(huán)境時(shí)改變?nèi)肿兞俊km然這種方法也許快捷,方便,但是它有一些重要的限制。首先,因?yàn)槲覀冊陂_發(fā)和生產(chǎn)兩個(gè)環(huán)境中使用一個(gè)Bundle ID,你不能在一臺設(shè)備上安裝應(yīng)用的兩個(gè)版本。當(dāng)你需要要測試開發(fā)版本的應(yīng)用程序時(shí),同時(shí)仍在該設(shè)備上使用生產(chǎn)版本的應(yīng)用,這就變的不方便了。此外,這種方法很有可能將應(yīng)用的開發(fā)版本上傳到應(yīng)用商店。如果你忘記了改變這個(gè)全局變量,你將會上傳錯(cuò)誤的應(yīng)用給你的用戶。我記得有一次在提交應(yīng)用程序到應(yīng)用商店之前我忘記改變?nèi)肿兞浚脩?a href='http://www.brongaenegriffin.com/soft/special/' target='_blank' class='arckwlink_none'>下載的是應(yīng)用的開發(fā)版本,這是可怕的。
在這篇文章中,我將展示一個(gè)更好的方法來區(qū)分開發(fā)和生產(chǎn)構(gòu)建。具體而言,我們將在Xcode中創(chuàng)建一個(gè)開發(fā)的target。這種方法法適用于新的和現(xiàn)有的大型項(xiàng)目,所以你可以用一個(gè)現(xiàn)有的應(yīng)用程序?qū)φ毡?a href='http://www.brongaenegriffin.com/v/' target='_blank' class='arckwlink_none'>教程。
通過應(yīng)用這種方法,應(yīng)用的開發(fā)和生產(chǎn)版本將使用相同的基礎(chǔ)代碼,但可以有不同的圖標(biāo),bundle ID 和指向不同的數(shù)據(jù)庫。發(fā)布和提交過程將會非常簡單。最重要的是,你的測試人員和經(jīng)理可以在同一設(shè)備上安裝兩個(gè)版本的應(yīng)用程序,所以他們完全知道他們在體驗(yàn)?zāi)膫€(gè)版本。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%