1

所以我发现这个通用化我的 iPhone 应用程序的过程是一个大麻烦!我一个人在这吗?我当然希望不会。无论如何,我的问题是关于我的通用应用程序的 .xib 文件。

我已经准备好运行 iPhone OS 3.1 的应用程序来进行通用切换。我去了 Project/Upgrade Current Target for iPad/Universal Application,据说它使我的应用程序具有所有必要的 iPad 设置......

因此,当我在 3.2 SDk 中对其进行测试时,屏幕很大,这意味着工具栏的大小适合 iPad,但显示的图像是针对 OS 3.1 的,这意味着它很小。于是我又去了 iPad Source 文件夹,将我的 MainViewController.xib 文件的名称改为 MainViewController-iPad.xib,并插入了我为 iPad 准备的更大的图像,它仍然无法正常工作。

然后,我进入我的 MainViewController.m 文件并将 nib 引用从 MainViewController 更改为 MainViewController-iPad,它工作了!我唯一担心的是,我必须“硬编码”它,或者强制它从我的 -iPad 文件中读取,这是否会给 OS3.1 版本带来问题?由于某种原因,我现在无法返回并测试 3.1 版本,该选项已从 Active SDK 菜单中删除...

如果有人经历过这种情况,或者对我做错了什么有洞察力,我们将不胜感激。谢谢!

4

3 回答 3

2

你的 Info.plist 应该有一个键 NSMainNibFile~ipad,它决定了哪个 nib 将为 iPad 加载。如果您是“手动”加载您的 nib 文件,那么这将被修复为特定的 nib 文件,您应该重写以检测 iPad/iPhone 并加载正确的 nib。

于 2010-04-09T21:57:55.270 回答
1

继续 paull 所说的... 在 Resources 文件夹组下,使用内置的编辑器/查看器打开“Info.plist”文件。将有一行显示“主 nib 文件基本名称”。单击右侧(键列)的“+”选项卡,然后选择“主 nib 文件基本名称(iPad)”并将值设置为关联 nib 的名称。

于 2010-04-10T21:01:09.647 回答
1

只是想知道即使在单击目标、进行干净构建、检查信息中的所有基本 SDK 和部署目标设置等之后是否有人遇到此问题。因为我已经完成了所有这些(以及几个总清理加上退出 xcode 等)。 ) 而且我在两个 iPad 选项上仍然是灰色的。

于 2010-06-16T04:05:23.927 回答