2011-01-08 52 views
7

我正在更新我的一個應用程序,我有一個困境:我應該在應用程序中使用iOS 4的新功能嗎?爲什麼?

在我想要添加iOS 4獨特功能的地方,我別無選擇,只能將它們實現爲支持的設備 - 這裏沒有困難。

當我有兩種方法達到同樣的效果,一種是「舊方式」,一種是「新方式」時,兩難處境就是兩難。 一個很好的例子是使用塊的動畫,我可以用這個語法:

[UIView animateWithDuration:2 animations:^{ 
    self.segmentedControl.alpha=0; 
}]; 

將在iOS版4.0只支持。或者使用所有版本(包括4)都支持的舊方法。(還有許多其他類似的例子。)

你做什麼,爲什麼?

這些塊非常棒,但如果我想支持以前的版本,我將不得不編寫更多代碼?在這種情況下使用它們可以獲得什麼?

+1

你只是將不得不撥打電話無論它是否是值得的支持舊版iOS。有多少客戶仍在使用不支持iOS 4的設備,他們的業務對於需要額外編碼工作量的重要程度如何?沒有人能爲你回答這個問題。 – 2011-01-08 12:41:44

回答

9

通常,規則是支持操作系統的最低版本,該版本提供了使您能夠交付所需產品的功能。由於我需要支持自定義複製和粘貼以及應用程序內電子郵件,因此我在發佈後大約一個月內讓所有應用程序都需要iPhone OS 3.0。對於我的一個應用程序的免費版本,我想嘗試iAds,所以我只做了4.0。

由新操作系統提供的內部代碼改進的可能性對於制定規則有點棘手。作爲喬指出,你花鬥爭做事的老辦法的時候,也可以通過移動到一個新的操作系統版本保存的,是你沒有修復錯誤或添加下一個偉大的新功能時。在某些時候,做事(如塊和GCD)的新方法風采實在是太引人注目的忽視,即使它可能不會直接增加任何新功能,您的應用程序。

在Mac上,許多開發人員都支持當前版本的操作系統,以及蘋果公司發佈的前一版本(目前爲Snow Leopard和Leopard)。只有當一個新的操作系統出來時,他們纔會放棄對先前一個版本的支持。其他人,如Wil Shipley,則主張立即跳出新的操作系統並忽略舊版本。這裏的觀點是,不會爲Apple的新操作系統版本支付費用,或者不保證系統保持最新狀態的用戶購買第三方應用程序的可能性要小得多。

我已經看到了這個問題,以及iOS上。例如,我在3.0版本的推出期間(針對不同版本的廣告進行了測試)(當iPod touch用戶仍然需要爲他們的操作系統更新付費時)。雖然下載免費版本的應用程序在2.x和3.x用戶之間相對一致,但3.x用戶幾乎沒有2.x用戶支付應用程序的費用。

沒有人抱怨我的付費用戶有關早期移動到3。0(儘管他們對新功能的評價很好),只有兩個人抱怨我的免費版本只有4.0版本,而沒有升級的版本只有56,000。雖然我會花一點時間過渡一段時間,但我相信在推出後不久就會轉向新的操作系統版本。現在,我正在製作我的4.0版本的所有內容,以便我可以實現代碼庫的現代化。

最後,從與新的操作系統版本會獲得最後一個好處是,你變得更加有吸引力的蘋果,誰總是要促進他們的新設備和操作系統版本使用新功能的應用程序。

0

使用新的動畫方式,您可以使用一個塊來完成,而不必創建一個單獨的方法,如果您有多個動畫需要完成某些操作,它會更清晰。而且它更容易閱讀,因爲它不那麼分散。這肯定會有一些技術上的優勢,但我不知道這方面的事情。

1

如果您試圖通過銷售軟件來賺錢,務必儘可能多地支持操作系統版本,最簡單的方法就是編寫一段代碼版本 - 因此,使用舊式的動畫塊。

+0

@Joe Blow:你是一個巨魔嗎?因爲你肯定聽起來不像真正的交易。 – 2011-01-08 14:07:40

2

什麼是你開發這個應用程序的目標?

如果它的收入(或名望高的下載次數),然後看大小和附加細分市場與發展(測試和QA和支持)費用的購買力。 (1)少數人(檢查當前數量的分析,大約10%或更少),以及(2)他們平均購買少得多的應用程序,而不是擁有最新設備和操作系統版本的用戶。對於非大型應用程序,潛在下載量的這一小額外百分比可能不值得額外支持這些客戶的設備測試和QA時間,更不用說開發工作。

如果你正在做的慈善機構或學習的應用程序,然後繼續和捐贈您的努力小時到1人(或其他少數),誰喜歡他們的舊設備的新應用。這是很好的技能有,如果你想跳轉到最新的OS版本使用一些超級新功能,只是因爲它出來,幾個星期前,廣大用戶升級他們的設備的操作系統相匹配。

相關問題