为啥应用程序可以在 iPhone 上运行,而不是在 iPad 上运行?

Posted

技术标签:

【中文标题】为啥应用程序可以在 iPhone 上运行,而不是在 iPad 上运行?【英文标题】:Why does app work on iPhone, not iPad?为什么应用程序可以在 iPhone 上运行,而不是在 iPad 上运行? 【发布时间】:2012-06-04 21:00:57 【问题描述】:

我从一个仅适用于 iPhone 的应用程序开始,它在 iPhone 和 iPad 上都运行良好(它在 iPad 上的一个 iPhone 大小的小窗口中运行......这很好)。然后我为 Target Device Family 选择了 iPhone/iPad,并创建了一个空白的 MyViewController~ipad.xib。然后我决定将应用程序恢复到以前的状态,我删除了 ~ipad.xib 并将 Target Device Family 设置回 iPhone only。

现在,我的视图像以前一样在 iPad 上显示,但我无法与视图交互。在 iPhone 上一切正常,但在 iPad 上,我的按钮似乎没有链接到它们相应的操作。但是,现在只有 nib,所以显然这些按钮是链接的,因为它们可以在 iPhone 上使用。

根据@wrights 的建议,我删除了所有模拟器文件并再次清理项目。然后我得到一个新的错误:*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/hap/Library/Application Support/iPhone Simulator/5.1/Applications/83BECBAA-2558-4927-9347-FAC972168299/WxT.app> (loaded)' with name 'MainWindow-iPad''

此时应用程序崩溃了。

我想让应用程序在 iPad 上正常运行,就像以前一样……只需要一个笔尖。任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

原来 Info.plist 中有一个条目导致了问题。这个问题“ios Development: How can I prevent an iPad from running a universal app in iPad mode?”帮我找到了。

一旦我删除了与 iPad 相关的条目,就清除了原来的问题和新的错误。

【讨论】:

【参考方案2】:

在运行恢复的应用程序之前,请确保您已清理您的构建并从 iPad 中删除了该应用程序。如果不从设备中删除应用程序,这些 iPad 文件可能会保留在应用程序包中,即使您已将它们从项目中删除。

1.) 从模拟器和设备中彻底​​删除应用。

2.) 干净构建。

3.) 在您选择的设备上运行还原的应用程序。

在 Xcode 中

导航到菜单项 Product 然后向下到 Clean 如屏幕截图所示,或者只需按 Shift+Command ⌘ +K

【讨论】:

我应该提到我确实删除了模拟器文件,因为这些是another issue I just tackled 的根。我只在模拟器上试过这个......我目前没有用于测试的 iPad。我也打扫了。再次尝试了这两个步骤,只是为了确定,但仍然存在问题。 您确定将目标设备改回仅iPhone吗? 回到我的办公桌。我删除了模拟器文件并再次清理。现在我看到了这个错误:*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/hap/Library/Application Support/iPhone Simulator/5.1/Applications/83BECBAA-2558-4927-9347-FAC972168299/WxT.app> (loaded)' with name 'MainWindow-iPad'' 所以似乎有些东西仍在寻找 iPad 特定的笔尖,不知道为什么。

以上是关于为啥应用程序可以在 iPhone 上运行,而不是在 iPad 上运行?的主要内容,如果未能解决你的问题,请参考以下文章

引导导航栏崩溃在计算机上而不是在 iPhone 上工作

将 PHP 调用的 .exe 程序(作为单独的进程,而不是在 PHP 中运行)的输出发送回 iPhone 客户端的可能方法

添加自定义图层时训练非常慢。我发现这个张量运算在 cpu 上而不是在 gpu 上运行,我不知道为啥?

iOS App 在模拟器上运行而不是在设备上运行?

iOS 智能应用横幅 - 在 iPad 上显示,而不是在 iPhone 上

如何调试 iPhone 应用程序崩溃日志。仅在 App Store 购买的版本中崩溃,而不是在开发中