Debugging iOS Swift如何调试SIGABRT:“;致命错误:调用已删除的方法";从椰子荚上?

Debugging iOS Swift如何调试SIGABRT:“;致命错误:调用已删除的方法";从椰子荚上?,debugging,swift3,cocoapods,ios9,sigabrt,Debugging,Swift3,Cocoapods,Ios9,Sigabrt,我有一个应用程序可以使用。我修改了一些代码以查看如何显示不同的面板,然后回滚了所做的更改 运行项目时,我得到SIGABRT致命错误:当SlideMenuControllerSwift初始化时,在控制台中调用deleted method。没有给出其他错误消息 项目的源代码管理似乎与以前处于完全相同的状态 变化 我做了一个“干净的” 重新安装的吊舱 删除了pods目录并进行了干净的安装 已从设备中删除应用程序并再次运行 在另一个文件夹中重新签出 更新cocoapods宝石 甚至还修改了该函数以使用

我有一个应用程序可以使用。我修改了一些代码以查看如何显示不同的面板,然后回滚了所做的更改

运行项目时,我得到
SIGABRT
致命错误:当
SlideMenuControllerSwift
初始化时,在控制台中调用deleted method
。没有给出其他错误消息

  • 项目的源代码管理似乎与以前处于完全相同的状态 变化
  • 我做了一个“干净的”
  • 重新安装的吊舱
  • 删除了pods目录并进行了干净的安装
  • 已从设备中删除应用程序并再次运行
  • 在另一个文件夹中重新签出
  • 更新cocoapods宝石
  • 甚至还修改了该函数以使用self.addLeftPictures()
如何调试由cocoa pod抛出“致命错误:调用已删除的方法”引起的问题?

更新:该pod中的函数似乎严重损坏,在init中调用另一个函数会导致错误访问异常:


在我的例子中,我创建了一个使用发布版本配置的项目方案:

在此配置中,如果您的项目生成设置不允许在此发布模式下进行测试,则设置自定义断点或应用程序崩溃不允许您正确调试,您将收到
致命错误:调用已删除方法


解决方案: 检查项目生成设置中的“可测试性”

确保您正在测试的生成配置为“是”


在我的例子中,我临时启用了可测试性用于发布,方法是为任何在XCode 11.4上使用SwiftUI看到此错误并试图访问
可观察对象
子类eg上的属性的人设置

类模型:ObservableObject{
@已发布的var name=“”
}
类ModelSub:Model{}
让model=ModelSub()
//这一行在XCode 11.4上导致“致命错误:调用已删除的方法”
$model.name
//取而代之的是
型号。\u name.projectedValue

查看更多详细信息

在同一分支上工作的其他开发人员没有问题。我修改了cocoapod代码,以避免调用该函数,而不是将代码粘贴到潜在的解决方案:我假设您使用的是pod,然后决定将其用作源代码,但如果您有Interface Builder的IBOutlet引用。您应该将其模块目标更改为您的项目目标,而不是删除的pod目标。只需在信息部分选中产品->方案->编辑方案->方案应该是调试而不是发布。