单击按钮时 iPhone 应用程序崩溃

标签 iphone ios xcode object nib

由于自定义 UITableViewCell 的问题,我在 Storyboard中创建了我的项目,我创建了一个新项目,将所有数据复制到我的新类并将我的按钮、图像等从 Storyboard View 复制到新项目的 Nib /xib 文件。

现在,当我点击任何按钮时,我的应用程序会无任何错误地崩溃,它会打开委托(delegate)文件并突出显示这行代码

return UIApplicationMain(argc, argv, nil, NSStringFromClass([ThisOrThatAppDelegate class]));

我已经为从 IB 到 Controller 的所需操作建立了连接。我也尝试过 Command+Shift+K 来获得干净的代码。但问题依然存在。

最佳答案

首先要弄清楚问题是什么:

  • 使用调试构建配置并使用 lldb 或 gdb
  • 确保所有异常都有断点
  • 确保您启用了左上角的“断点”按钮。
  • 运行应用

你应该进入调试器。您需要到达调试器捕获异常的地步。

然后编辑您的问题并告诉我们您遇到的异常情况。我猜你会得到一个 objc_msgSend() 错误,这意味着某个对象正试图向一个不存在的或已释放的对象发送消息。如果事实证明这是真的,那么您可以启用“僵尸”(它让所有对象都留在周围)并查看其中一个是否收到消息。

如果似乎没有任何帮助,那么您需要做的是开始添加 NSLog 消息以跟踪您的应用程序出现(或使用断点,您的选择)。这需要很长时间,因此您可能会倒退 - 查看您的 appDelegate application:didFinishLaunchingWithOptions: 是否被调用,以及是否完成了它。

不幸的是,此类问题可能需要花费大量时间来追踪。某些对象可能已经在主队列中为另一个对象排队等待消息,因此当您遇到崩溃时,您看不到谁在什么时候做了什么。

此外,对于 objc_msgSend 问题,当调试器停止时,您无法轻易地看到向哪个对象发送消息 - 但如果您关闭调试器并让应用程序实际崩溃,您可以在控制台应用程序中找到崩溃报告并获取更多信息从那个。

关于单击按钮时 iPhone 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11527006/

相关文章:

MKUserTrackingModeFollowWithHeading 的 iOS 6 map 问题

iphone - 居中图像模糊

ios - 如何从字典数组中获取数据 - swift

ios - 在 XCode 4 中创建两个目标

xcode - Swift:协议(protocol)有真正的目的吗?

ios - 如果 App delegate 想要使用主 Storyboard文件,它必须实现 window 属性

ios - 无法在 Xcode UI 测试中点击 UIBarButtonItem

iphone - 在 iPhone 应用程序之间共享 sqlite 数据库

iphone - 如何在单击Newsong时使avaudioplayer停止播放上一首歌曲?

ios - Facebook 应用程序请求通知未出现