2010-02-16 81 views
4

我有一個iPhone應用程序,我即將修改爲iPad。將iPhone應用程序移植到iPad - 單個應用程序或分叉?

我的問題是:應用程序被設計爲適用於iPhone OS 2.0,如果我爲iPad設計,我將不得不爲OS 3.2設計它。

我無法更改iPhone版本,因爲我冒着一些使用舊版iPhone的用戶無法運行該應用程序。

很明顯,我可以製作一個混合應用程序,可以在iPad/iPhone OS 3.2和iPhone/iPhone OS 2.0上工作,但這將是一個難以維護的API許多API調用等等。

哪一個是最好的方法:iPad的混合版本或單獨的代碼叉?

回答

3

將您的Base SDK設置爲iPhone 3.2設備。將您的iPhone部署目標設置爲2.0。在調用iPhone 3.2 API時使用AvailibilityMacros。然後爲iPad創建不同的UI代碼並製作通用應用程序。這是所有世界中最好的。除非你有iPhone並且已經購買了你的應用,否則你不會得到新的購買。如果您對iPad版本更有興趣獲得更多收入(也許iPad版本的功能更多)?那麼您應該分叉代碼,以便爲iPad應用程序設置不同的價格點。如果我理解正確,您可以始終將fork保留在同一個xcode項目中,這樣您仍然可以使用共享模型和控制器,並且在構建時只需選擇要構建的目標。因此,你作爲一個開發者可以獲得兩全其美的好處。

每個admob統計: iPhone OS Statistics如果你的客戶只有iPhone然後人們不在3.0 < 3%。對我來說,這是一個非常小的數字,他們可以輕鬆地免費升級,所以我不會只爲他們保留你的應用。也許你的應用程序可能會說服更多的人升級。現在,如果您的應用支持iPod Touch,那麼您的目標市場仍然是32%2。X

+0

謝謝!是的,我的問題是使用2.x的ipod touch用戶中的32%... – SpaceDog

+0

我之前已經說過,但是這32%不是很好的目標受衆。如果他們不會花費5美元購買完整的操作系統升級,爲什麼他們會爲您的應用程序支付費用?無論如何,這個數字可能會縮小,因爲3.0更新對於iPod touch而言是免費的:http://www.iphonealley.com/current/30-software-update-now-free-for-ipod-touch –

+0

同樣值得注意的是,那些統計數據並沒有真正展現聖誕節之外的效果,而且iPod touch的銷售在聖誕節期間總是處於頂峯。 2.x上的這32%可能會大幅下降。此外,由於人們有更多的時間,他們可能會得到更新。我知道我的父母不會更新他們的,除非他們休息幾天。 – jamone

8

叉你的代碼。你可能會想要一個新的UI或新的圖形代碼來適應更大的屏幕,所以你真的在尋找一個「新」應用程序,它使用了很多現有的類。

+0

謝謝!這似乎是對我來說合乎邏輯的方法,特別是我的這個應用程序,它使用大圖像,這會使iphone的可執行文件變大。無論如何,我認爲這可能是最好的方法,即使是新的應用程序,除非你願意在兩個平臺上編寫相同的操作系統,並且你有小的圖形。 – SpaceDog

0

您的應用程序是否有訂閱組件(即在初始購買後讓您賺錢)或服務合同?

如果答案是否定的,我會高度考慮將所有內容都移動到3.2 - 您是否真的想要移植更改?仍然使用2.0操作系統的用戶(可能是少數,甚至包括越獄作爲3.1已經越獄了一段時間)不必升級到新版本。對iPhone應用程序的期望是新版本將免費,而不是新版本將免費,並始終在舊操作系統上運行。

作爲一個讓我的操作系統保持最新狀態的用戶,如果您花費了大量時間在支持未升級的用戶上工作,我實際上會很不高興;我覺得你花時間去添加新功能會更好。

+0

問題是這樣的:傢伙有一個使用OS 2.0的iPhone。他買了我的應用程序。我轉向3.2。這傢伙和其他人現在生氣,因爲該應用程序停止爲他們工作。 另一個問題是:iTunes或iPhone上的Appstore應用程序是否允許使用OS 2.0的人下載3.0版本的應用程序?如果是,這是最糟糕的,因爲新版本(不在傢伙的設備上工作)會覆蓋一個工作版本。我不確定在購買/下載項目時是否檢查iPhone版本。 – SpaceDog

+1

最起碼,如果您使用的是2.0版本,您可以發出警告聲明不要下載此版本,但我相信有一種方法可以將其標記爲不可用,因此它不會顯示爲可用更新。他們已經運行的版本將繼續工作(假設沒有涉及Web服務)。在某些時候,你將不得不放棄那些不想升級他們的操作系統2.0以上版本的用戶 - 不管是什麼時候出現3.2或者4.3或5.8出現的時候都取決於你,但作爲iPhone應用程序的頻繁買家,我會對添加新功能而不是支持舊操作系統感到高興。 – BarrettJ

10

1)分叉代碼,但...

2)創建一個通用應用程序。

基本上,從這裏製作一個只支持OS3.2的新版本。這個單一版本可以同時包含更新後的iPhone應用程序和新的iPad應用程序,使您可以在將來輕鬆開發它們,並在它們之間重新使用視圖控制器和模型。蘋果希望你這樣做。查看關於通用應用程序的文檔。

+0

+1;這可能是正確的答案。 –

相關問題