【发布时间】:2011-11-11 17:37:47
【问题描述】:
以下是我如何从现有 iPhone 项目创建通用应用程序,方法是使用副本创建 ~ipad.xib(s),然后将它们添加回项目的备份,并检查通用。
我使用 xcode 4.02,基础 sdk 为 4.3.3,部署目标为 3.1.2。
- 在某处备份您的整个项目。
- 右键单击 iPhone 目标并选择复制。为 iPad 选择副本,而不仅仅是复制。这会创建一个名为 Resources-iPad 的新文件夹,其中有一个名为 classes 的子文件夹,其下是整个项目中所有 xib 文件的副本。 (有趣的是,当我在 finder 中查看这些文件时,它们没有 .xib 扩展名,尽管它们在 xcode 窗口中显示了扩展名 - 为什么?Finder 仍然说它们是 xib 文件。)
- 此时我有两个目标。这似乎是错误的,所以我去 finder 并制作了新 Resources-iPad 文件夹的备份副本,然后删除了整个项目。
- 将我在步骤 1 中备份的原始 iPhone 项目复制回来。
- 添加了已备份的 Resources-iPad 文件夹,并对其进行了编辑,使其看起来适合 iPad。
- 我现在有一个看起来不错的目标,我在目标摘要中将它设置为通用设备,而不是 iPhone。
- 但是,我在部署到模拟器或设备时遇到了不一致的行为 - 有时会无缘无故地使用错误的 xib。
- 这修复了它 - 在 xcode 中,在 Resources-iPad/classes 文件夹中,将 ipad 的所有 xib 从 mynibname.xib 重命名为 mynibname~ipad.xib(tilda 在前面,全部小写)
我找不到任何关于这样做是否可以的文档。到目前为止,它适用于这些物理设备:
配备 4.3 的 iPad 2、配备 3.1.2 的 iPod touch v1、配备 4.1 的 iPod touch v4(视网膜)
这是创建通用应用程序的正确方法吗?现在我已经解决了这个问题似乎很容易,但是花了很长时间才找到这个信息。哦,我也没有 mainwindow.xib,但其他 nib 在其他地方作为表格视图部分标题和选项卡应用程序中的详细视图加载 - 所以我将主界面部分留空。
哦 - 我没有 iPad 1,无法在该设备上进行测试,但它似乎无法在 iPad 3.2 模拟器中正常工作,但所有其他设备和模拟器似乎都可以正常工作。
【问题讨论】:
-
现在更好的方法是制作两个故事板,一个用于 iPhone,一个用于 iPad。