将iPhone应用程序移植到iPad - 单个应用程序或分叉?

时间:2010-02-16 20:43:09

标签: iphone iphone-sdk-3.0 ipad

我有一个iPhone应用程序,我即将为iPad修改。

我的问题是:该应用程序适用于iPhone OS 2.0,如果我用于iPad,我将不得不为OS 3.2设计它。

我无法更改iPhone版本,因为我冒一些旧版iPhone无法运行应用程序的用户。

显然,我可以制作一个可以在iPad / iPhone OS 3.2和iPhone / iPhone OS 2.0上运行的混合应用程序,但这将是一个难以维护的地方,有许多API调用等等。

哪种方法最好:混合版本或iPad的单独代码?

4 个答案:

答案 0 :(得分:10)

1)分叉代码,但......

2)创建一个通用应用程序。

基本上,从现在开始制作一个仅支持OS3.2的新版本。该单一版本可以包含更新的iPhone应用程序和新的iPad应用程序,允许您在将来轻松地对它们进行编码,并在它们之间重用视图控制器和模型。这就是Apple希望你这样做的方式。查看有关通用应用程序的文档。

答案 1 :(得分:8)

分叉您的代码。你可能想要一个新的UI或新的图形代码来适应更大的屏幕,所以你真的在看一个使用现有很多类的“新”应用程序。

答案 2 :(得分: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

答案 3 :(得分:0)

您的应用是否有订阅组件(在初次购买后为您赚钱)或服务合同?

如果答案是否定的,我会高度考虑将所有内容移至3.2 - 您是否真的希望重新移植更改?仍然使用2.0操作系统的用户(可能是少数人,甚至包括3.1越狱者已被越狱了很长一段时间)不必升级到新版本。 iPhone应用程序的期望是新版本将是免费的,而不是新版本将是免费的并且总是在旧的操作系统上运行。

作为让我的操作系统保持最新的用户,如果你花了很多时间来支持那些没有升级的用户,我真的很不高兴;我觉得你的时间会更好地用于添加新功能。