同时创建iPhone和iPad应用程序的最佳方式是什么?

同时创建iPhone和iPad应用程序的最佳方式是什么?,iphone,xcode,ipad,porting,Iphone,Xcode,Ipad,Porting,我有一个iPhone应用程序,我想把它移植到iPad上,但我希望复制的内容尽可能少 人们通常是怎么做的 在xcode中,你可以为iPhone和iPad设定不同的目标,或者做一些预处理器检查吗?还是最好是两个单独的项目 注意,我不是说在iPad上运行iPhone应用程序,我是说创建一个原生的3.2应用程序 编辑 因此,创建一个通用应用程序似乎是一条可行之路: 但我仍然不明白的是,如何根据当前部署选择不同的NIB文件 非常感谢减少了重复,您可以使用一个项目,包含两组.nib文件,但一组源代码文件,

我有一个iPhone应用程序,我想把它移植到iPad上,但我希望复制的内容尽可能少

人们通常是怎么做的

在xcode中,你可以为iPhone和iPad设定不同的目标,或者做一些预处理器检查吗?还是最好是两个单独的项目

注意,我不是说在iPad上运行iPhone应用程序,我是说创建一个原生的3.2应用程序

编辑

因此,创建一个通用应用程序似乎是一条可行之路:

但我仍然不明白的是,如何根据当前部署选择不同的NIB文件


非常感谢减少了重复,您可以使用一个项目,包含两组.nib文件,但一组源代码文件,其中包括对UIUserInterfaceIdiom差异的运行时检查

如果您想要两个(或更多)应用程序而不是通用应用程序,只需创建两个仅包含适当的.nib文件的目标,并且#如果在每个目标的构建设置中使用预处理器宏定义运行时检查结果,则仅强制使用iPhone或iPad习惯用法。

最新版本(3.2.3)Xcode自动生成一个通用项目,这是了解如何在一个Xcode项目中瞄准iPad和iPhone的一个很好的起点


文件>新项目>基于窗口的应用程序>产品:Universal

您正在寻找2x选项吗?我不认为你能,否则你会重新编码。我想我之前搜索过这个,因为我用的是Cocos2d,发现我做不到,因为Cocos2d是iPhone本机。你想在iPad上移植到一个单独的“HD”应用程序,还是构建一个可以在两者上运行的通用应用程序?@hotpaw2,我不知道,我想我想要一个通用应用程序,听起来好像更少duplication@thyrgle不正如问题所说,我不是在寻找那个选项。这就是我所寻找的,UIUserInterfaceIdiom到底是什么?我在上面找不到太多?它是一个设备属性,告诉应用程序它运行的设备,记录在developer.apple.com上的UIDevice类参考中,那一个,whops,那么现在我如何选择,基于设备加载哪个NIB?我使用的过程如下:1。将目标更新为单个通用应用程序2。记下xcode为您创建的新XIB文件XXX-iPad.XIB 3。创建与iPad应用程序对应的新XIB文件(您可以创建指向现有UIViewController的新XIB文件,只需添加一个“视图XIB”,将其类更改为现有视图控制器)4。在该XIB文件中,将加载的正常XIB文件更改为指向您在步骤3和5中创建的新XIB文件。连接IBOutlet就像您在新项目中通常所做的一样,该项目类型的一个缺点是它没有创建ViewController,因此您可以执行类似于旋转显示的可视操作。因此,您必须修改代码以提供适当的文件。