99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

您好,歡迎來電子發(fā)燒友網! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網>源碼下載>編譯器/仿真器>

以實例演示Xcode中的Targets如何管理開發(fā)的構建的

大?。?/span>0.3 MB 人氣: 2017-09-26 需要積分:1

  標準的軟件開發(fā)實踐是在不同的開發(fā)環(huán)境下開發(fā)不同版本的軟件,像我們案例中講到的開發(fā)iphone應用。應用程序的開發(fā)版本通常使用一個不同于生產環(huán)境的數(shù)據庫(或如分析的其他系統(tǒng))。這就是為什么我們應該為不同的環(huán)境中使用單獨的服務器和數(shù)據庫。開發(fā)人員在測試期間通常都使用虛擬圖像或虛擬數(shù)據。在測試環(huán)境中,使用諸如 “test comment”, “argharghargh” 和 “one more test comment”之類的測試數(shù)據并不少見。顯然,你不希望你的真實用戶看到這樣的消息。如果你的應用程序使用了一個分析系統(tǒng)的情況下,你甚至會在測試階段發(fā)送成千上萬的事件。同樣的,你不會把測試數(shù)據和生產數(shù)據放在同一個數(shù)據庫中。這就是為什么總是推薦區(qū)分開發(fā)和生產環(huán)境。

  在使用兩個獨立的環(huán)境時,你的應用程序需要有一個辦法找出它應該連接到的環(huán)境。一種常用的方法是在你的主應用代理里定義一個全局變量,它會將您的應用程序初始化為開發(fā)或生產模式。

  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)境時改變全局變量。雖然這種方法也許快捷,方便,但是它有一些重要的限制。首先,因為我們在開發(fā)和生產兩個環(huán)境中使用一個Bundle ID,你不能在一臺設備上安裝應用的兩個版本。當你需要要測試開發(fā)版本的應用程序時,同時仍在該設備上使用生產版本的應用,這就變的不方便了。此外,這種方法很有可能將應用的開發(fā)版本上傳到應用商店。如果你忘記了改變這個全局變量,你將會上傳錯誤的應用給你的用戶。我記得有一次在提交應用程序到應用商店之前我忘記改變全局變量,用戶下載的是應用的開發(fā)版本,這是可怕的。

  在這篇文章中,我將展示一個更好的方法來區(qū)分開發(fā)和生產構建。具體而言,我們將在Xcode中創(chuàng)建一個開發(fā)的target。這種方法法適用于新的和現(xiàn)有的大型項目,所以你可以用一個現(xiàn)有的應用程序對照本教程。

  通過應用這種方法,應用的開發(fā)和生產版本將使用相同的基礎代碼,但可以有不同的圖標,bundle ID 和指向不同的數(shù)據庫。發(fā)布和提交過程將會非常簡單。最重要的是,你的測試人員和經理可以在同一設備上安裝兩個版本的應用程序,所以他們完全知道他們在體驗哪個版本。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?