【问题标题】:App works on iPhone but crash on iPad simulator stuck with launch image on ipad应用程序可在 iPhone 上运行,但在 iPad 模拟器上崩溃时卡住了 ipad 上的启动图像
【发布时间】:2012-10-21 16:39:51
【问题描述】:

我对此很陌生,希望我能提出正确的问题。

我的应用程序已经在 AppStore 上架了几个星期,而且一直只在 iPhone 上运行。它被拒绝了,因为该应用程序无法在 iPad 上运行。被拒绝的确切原因是:

拒绝原因:2.10:iPhone 应用程序也必须在 iPad 上运行,而无需 修改,iPhone 分辨率,2X iPhone 3GS 分辨率

在 iPad 5 模拟器上运行时,出现以下错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[__NSArrayM insertObject:atIndex:]: object cannot be nil” * 首先抛出调用栈: (0x1ba5022 0xf60cd6 0x1b9233e 0x1b931f0 0x18bc04 0x19724f 0x3c3c 0x18a99b 0x418e 0xfd9d4 0xfdbe0 0x4155 0x15159 0x1433f 0x3b18 0x2b0d 0xc1386 0xc2274 0xd1183 0xd1c38 0xc5634 0x14d0ef5 0x1b79195 0x1addff2 0x1adc8da 0x1adbd84 0x1adbc9b 0xc1c65 0xc3626 0x2a60 0x29c5) P>

终止调用抛出异常

我需要在 Xcode 4.5.1 中做什么才能让我的应用在 iPad 上运行?

【问题讨论】:

  • 请发布堆栈跟踪的其余部分。
  • 看起来您正试图将空对象插入 NSMutableArray。您是否尝试过调试代码?如果您不确定从哪里开始,您可以尝试在所有插入和添加到 NSMutableArrays 时设置断点,然后逐个执行。
  • 谢谢您,先生们,我已经添加了堆栈跟踪,非常感谢您的帮助。我对为什么它在 iphone 上运行正常而不是 iPad 模拟器感到绝望?

标签: iphone ios ipad interface-builder


【解决方案1】:

不要将nil 插入到数组中。如果要表示存在“空”对象,请使用单例NSNull[myArray insertObject: [NSNull null] atIndex: myIndex];

* 编辑 *

如果您确实有意使用此类代码,您应该寻找自动平台相关代码。热门候选人缺少或错误连接的出口或操作、特定于平台的捆绑包,或者在 NIB/故事板中缺少或错误(即使用不正确的 ID)元素。然而,没有看到你的代码,一切都是猜测。尝试通过识别代码跟踪中属于您的代码(不是库/框架代码)的最后一个位置来检测故障。

【讨论】:

  • 嗨,Matthias,您能否指导我了解在 iphone 上可以但在 iPad 模拟器上不行的原因?我确实指定它适用于 plist 和设备系列中的 iphone。非常感谢!
  • 再次感谢 Matthias,实际上我的 main() 中只有一行,并且似乎错误来自它, int main(int argc, char *argv[]) { @autoreleasepool{ return UIApplicationMain(argc, argv, nil, NSSstringFromClass([AppDelegate class])); } } 我已经尝试了一整天,但仍然不知道该怎么做。
  • @user1703590:你检查你的笔尖/故事板了吗?也许你的配置假设有一个 iPad 的故事板,但不存在,你得到一个 nil。
  • Matthias,整个东西是由interface builder 4.4创建的,故事板是为iphone配置的,我检查了plist只有主故事板文件基名说mainstoryboard,没有主故事板文件基名(iPad)存在。
【解决方案2】:

对于 Cordova 开发人员,如果您在常规项目设置的“主界面”下拉列表中提供任何内容,您将收到此错误。如果您想使用 Cordova 应用程序面向所有平台,请始终将此留空。

您也可以根据需要单击所有四个方向。还要确保在设备下拉菜单中选择了“通用”。

【讨论】:

  • 调试器会在这里显示一个异常: int main(int argc, char *argv[]) { @autoreleasepool{ return UIApplicationMain(argc, argv, nil, NSSstringFromClass([AppDelegate class])); } }
猜你喜欢
  • 1970-01-01
  • 2016-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多