应用程序适用于iphone模拟器,iphone设备,ipad模拟器,但不适用于ipad设备

时间:2011-06-30 17:04:08

标签: iphone objective-c xcode ipad

所以我制作了一个应用程序,它运行在除ipad设备之外的所有可能平台上。我会理解它是否在ipad设备而不是iphone设备上运行,因为处理器在ipad上更好,但这让我很难过。它在ipad模拟器上也运行良好。任何人都可以想到这可能是什么原因吗?

4 个答案:

答案 0 :(得分:2)

细节太少无法给出解释。可能性是:当您在两个不同的设备(iPhone和iPad)中运行应用程序时,某些nib文件可能会有所不同。如果您将XCode模板用于通用应用程序,即使是应用程序委托也是不同的。所以这意味着两个设备中执行的代码可能不同。

所以想象一下,在iPad应用程序委托/视图控制器中,您在启动时分配了大量内存(例如,滚动视图包含许多大图像)。然后应用程序不会在模拟器中崩溃(它使用你的Mac内存)。该应用程序不会在iPhone中崩溃(不同的代码)。所以最后它只会在iPad上崩溃。

其他可能性:你很快就会记忆犹新。但iPad 1的内存比iPhone 4G少。

其他可能性:看门狗定时器会在启动时杀死您的应用。它只发生在iPad 1上,因为你正在加载一些大图像并且需要花费很多时间才足以被看门狗杀死。

其他可能性:iPad 1仍然使用iOS 3.2,而iPhone和模拟器则链接到iOS 4.0。在这种情况下,通过调用iOS 4中引入的许多新API之一,很容易让应用程序在iPad 1中崩溃。

正如您所看到的,有许多可能的解释......

答案 1 :(得分:0)

为设备添加目标或将其转换为通用应用程序

是的,很容易针对这两个平台。如果您登录ADC并阅读编程指南,它将提供特定开发的基础知识。我不能合法地谈论“如何”。

庵。如果您按照他们的指示,建立两个目标,在同一个项目中共享您的来源......那么您将被设置。它是相同的SDK,只是不同的Nibs&从我所知道的主要()。

答案 2 :(得分:0)

你说不同的xib ...你可能在某个地方错过了Outlet连接。

答案 3 :(得分:0)

好的,很抱歉,但我没有提供足够的信息让你们任何人正确回答这个问题,但是!这是我的问题。

我有一个包含2个文本字段的登录屏幕和一个提交按钮。提交按钮将释放当前视图并添加新视图。我会在键盘显示时按提交。这可能会让一切都爆炸。您必须先手动隐藏键盘。希望这能节省一些时间。