构建通用iPad应用程序 - 设备识别代码在哪里?

时间:2010-04-07 13:31:31

标签: iphone xcode ipad

我注意到当我在XCode中为通用iPad / iPhone应用程序创建一个新项目时,该模板附带了两个单独的App Delegate文件,每个文件对应一个设备。我似乎无法在代码中找到它试图决定使用哪个应用委托的位置。

我有一个现有的iPhone项目,我想移植到iPad。我的想法是,如果我继续设计iPad项目,我可以导入我的iPhone类和笔尖,然后使用App Delegate和UIDevice来决定加载哪个MainWindow.xib。这个过程是这样的:

  1. 创建编码为拆分视图的iPad项目
  2. 为iPad创建全新的类和笔尖
  3. 导入iPhone类和笔尖
  4. 根据Universal Apps更改构建/目标设置
  5. 在AppDelegate中使用[[UIDevice currentDevice] model]来决定加载哪个MainWindow
  6. 这是否有用,或者应用程序是否只是自动知道它部署在哪个设备上?

    感谢您提供的任何见解。

2 个答案:

答案 0 :(得分:5)

决定加载NIB文件的位置是Info.plist(主nib文件基本名称与主nib文件基本名称(iPad))。然后,App Delegate的类将在各自的NIB文件中设置。

答案 1 :(得分:2)

最新版本的SDK有一个菜单命令,可以将项目转换为通用。不要手工做! 它不会为您完成所有工作,但基本上设置模板就好像您刚开始使用通用应用程序并允许您编写更多代码,减少移动文件。