objective-c - addSubView 上令人讨厌的 iOS SIGABRT 错误 - 即使在以前工作的旧快照和备份版本上也是如此?

标签 objective-c ios

我的 ipad 应用程序运行良好(使用 Xcode 4.2 ios5 beta 7),开始调整 Settings.bundle,然后突然我在 addSubView 命令上收到 SIGABRT 错误,这对我来说已经运行了数周。

在与这个问题较量了一个小时之后,我想“去他的,我会转到我知道运行良好的最后一个快照”。把它拉起来 - 同样的问题!

我已经尝试了以下所有方法:

1) 返回 4 个快照(大约 2 天前)- 所有快照都有相同的错误,尽管我在应用程序处于良好工作状态时拍摄了快照。 (注意:恢复快照对我来说似乎从来没有用过(即恢复后没有任何变化),所以我进入管理器并导出快照的完整单独副本,然后从那里开始。

2) 回到我的每日备份并提取备份捕获的副本(大约一天前)。同样的问题。

3) 从 Xcode 管理器中,删除派生数据。

4) 重启我的笔记本电脑(当然也重启 Xcode 和 iOS 模拟器)大约 3 次。

5) 重置 iOS 模拟器。

6) 重新安装 Xcode 4.2 ios 5 beta 7。

7) 尽管这完全不合逻辑(因为 XIB 文件在每个备份中应该是分开的且不同的),但为在我将其添加到我的 subview 时崩溃的 View 重建了 XIB 文件。

8) 试图在 Xcode 4.2 ios 5 beta 2 中打开它 - 它在构建和运行期间从未完成附加。

9) 当我尝试将 addSubView 切换到任何其他 View 时,我的应用程序不会崩溃(所以这有点令人鼓舞),所以我尝试删除唯一的元素(即事件指示器和 UIWebView 和 UIPageControl)我想添加为 subview 的实际 View (根据模糊的理论,我的 XCode 设置中的一些小元素已损坏)。

以上都不起作用任何人都知道什么样的问题会导致同一项目的多个副本发生这种崩溃?

谢谢!

最佳答案

chamdashViewController_ 是否包含在 nib 文件中?

看起来您引用的 View 可能还不存在 - 悬空指针。设置断点并查看是否在 loadView 方法之前调用了 aplicationDidFinishLaunching:withOptions: 方法。

或者,您可以在添加 subview 之前设置断点,并在调试器控制台中使用命令“po [cham​​dashViewController_view]”确保它指向事件对象。

关于objective-c - addSubView 上令人讨厌的 iOS SIGABRT 错误 - 即使在以前工作的旧快照和备份版本上也是如此?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7349428/

相关文章:

ios - Swift 协议(protocol)作为从 Objective C 类调用的初始化参数

ios - 由于 iOS6 上的全局外观属性,MFMailComposeViewController 崩溃

ios - 在 iOS 11(或 Xcode 9)中加载字体

ios - 在 Objective-C 项目中导入 Swift 框架 - 错误 - 未知类型名称

iphone - 推送 View Controller 时应用程序崩溃,[NSConcreteData initWithContentsOfURL :options:error:]: nil URL argument'

ios - 如何保留在 block 中设置的局部变量?

ios - 在 Xcode 4.2 中更新代码签名身份

ios - 无法将具有标识符 TodoItemRow 的单元格出列 - 必须为标识符注册一个 nib 或一个类,或者连接 Storyboard 中的原型(prototype)单元格

ios - 模块 'Builtin' 没有名为 convertUnownedUnsafeToGuaranteed 的成员

ios - 如何将 UIPopoverPresentationController 的高度设置为与 UITableView 相同