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

标签 iphone xcode ipad

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

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

  1. 创建一个编码为 Split View的 iPad 项目
  2. 为 iPad 创建全新的类和 Nib
  3. 导入 iPhone 类和 nib
  4. 根据通用应用更改构建/目标设置
  5. 在 AppDelegate 中使用 [[UIDevice currentDevice] model] 来决定加载哪个 MainWindow

这可行吗,或者应用程序是否会自动知道它部署在哪个设备上?

感谢您提供的任何见解。

最佳答案

要加载哪个 NIB 文件是在 Info.plist 中决定的(主 nib 文件基本名称与主 nib 文件基本名称 (iPad))。然后,应用程序委托(delegate)的类在各自的 NIB 文件本身中设置。

关于iphone - 构建通用 iPad 应用程序 - 设备识别代码在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2592790/

相关文章:

iphone - 以编程方式模拟 iPhone 上的键盘事件

iphone - 在哪里可以找到我的 iPhone 应用程序的核心数据持久存储?

ios - 我的应用程序在 iPhone 6 和 6plus 中不显示状态栏

iphone - 将手势识别器/ Action 方法附加到 View 会违反 Model View Controller 吗?

ios - iPad pro 启动图像的大小是 2x?

objective-c - iPad 上的 UIActionSheet backGroundColor

iOS ImageView - 高度等于宽度

swift - SpriteKit 游戏中的高 CPU 使用率

ios - 为什么在旧设备上首次打开时将预填充的数据库加载到核心数据时应用程序崩溃?

iphone - UIWebView - 滚动时隐藏地址栏