iPhone&相同应用的iPad版本?

时间:2010-04-10 23:45:43

标签: iphone cocoa-touch ipad

我有一个iPhone应用程序,并希望创建它的iPad版本。当您需要iPhone和iPad版本的应用程序时,设置项目的最佳方法是什么?

我没有看到我能够使用相同的代码库,因为iPad版本中会有iPhone版本没有的功能。对于同一个应用程序来说,维护似乎会有两个相似的代码库。

4 个答案:

答案 0 :(得分:2)

重构公共部分并创建新目标。你是唯一一个真正知道最好的方法是什么的人。

答案 1 :(得分:1)

我本周刚刚完成了这个思考过程,有一个已发布的iPad应用程序,我想创建一个iPhone版本,我决定使用通用应用程序方法。我发现它对我的需求非常有效。一旦你解决了项目设置问题,以及设计决策的策略,你将在何处以及如何分割你的iPad / iPhone特定代码,通用应用程序框架非常棒。

在此过程中,我创建了一个可重用的通用应用程序项目模板,然后我将其用作我的通用应用程序的起点。代码是开源的,托管在github上,我鼓励你把它看作是解决问题的一种方法,因为它知道它是一个经过测试的解决方案,对我有用。 (此外,我欢迎任何想要帮助使其成为更有用项目的人的贡献)

github链接是:http://github.com/ryanscott/rcloudlib/tree/master/Samples/rcuniversaltemplate/

在维护方面,我非常满意支持这两种设备所需的最少工作量。当然,它比支持其中一个更多的工作,但它比两个独立的代码库,其中业务和应用逻辑几乎相同。

总结:我坚信使用通用应用是创建在iPad和iPhone上运行的应用的最佳方法。

答案 2 :(得分:0)

由于功能应该相似但布局是分开的,代码库s / b ok但是ib应该改变 - 使事情变得更加简单;现在v4.0是一个不同的答案:)

答案 3 :(得分:0)

维护会有所增加。但是如果你的应用程序写得足够抽象,那么将它移植到其他设备应该相当容易。 (例如,如果你从不认为你将永远知道屏幕尺寸,你应该能够相当容易地改变它。)

对于其他事情,可能有点困难。但是,如果您使用Model View Controller (MVC)思维范式,您应该能够同时开发两个应用程序,只需要大约1/3的额外工作。 (保持相同的模型和控制器,只交换视图,或者,您可以将控制器包含在那里,但我不会。)