我正在使用Swift编写的iOS应用程序。我有一个UITabBarController的子类,然后是一个嵌套的子类:

class HWTabBarController: UITabBarController {
    override func viewDidLoad() {
        super.viewDidLoad()
        ...
    }
}

class MainTabBarController: HWTabBarController {
    override func viewDidLoad() {
        super.viewDidLoad()
        ...
    }
}

在iOS模拟器中,甚至在我在iPhone上调试应用程序时,此方法都可以正常工作。
但是,当我存档应用程序并将其通过TestFlight发送到手机时,它会崩溃。

我的崩溃日志充满了这个无限循环:
22  HDWR                           0x00145e10 @objc HDWR.MainTabBarController.viewDidLoad (HDWR.MainTabBarController)() -> () (MainTabBarController.swift:16)
23  HDWR                           0x00262867 NRMA__voidParamHandler
24  HDWR                           0x0014ea00 HDWR.HWTabBarController.viewDidLoad (HDWR.HWTabBarController)() -> () (HWTabBarController.swift:24)
25  HDWR                           0x00145e10 @objc HDWR.MainTabBarController.viewDidLoad (HDWR.MainTabBarController)() -> () (MainTabBarController.swift:16)
26  HDWR                           0x00262867 NRMA__voidParamHandler
27  HDWR                           0x0014ea00 HDWR.HWTabBarController.viewDidLoad (HDWR.HWTabBarController)() -> () (HWTabBarController.swift:24)
28  HDWR                           0x00145e10 @objc HDWR.MainTabBarController.viewDidLoad (HDWR.MainTabBarController)() -> () (MainTabBarController.swift:16)
29  HDWR                           0x00262867 NRMA__voidParamHandler
30  HDWR                           0x0014ea00 HDWR.HWTabBarController.viewDidLoad (HDWR.HWTabBarController)() -> () (HWTabBarController.swift:24)
31  HDWR                           0x00145e10 @objc HDWR.MainTabBarController.viewDidLoad (HDWR.MainTabBarController)() -> () (MainTabBarController.swift:16)
32  HDWR                           0x00262867 NRMA__voidParamHandler
33  HDWR                           0x0014ea00 HDWR.HWTabBarController.viewDidLoad (HDWR.HWTabBarController)() -> () (HWTabBarController.swift:24)

什么是voidParamHandler指令,为什么会返回至MainTabBarController.viewDidLoad

我在这里做错什么了吗?还是这是Swift中的错误?

最佳答案

您在应用程序中使用New Relic吗? (我从所有的NRMA__voidParamHandler引用中都猜到了。)我遇到了这个确切的问题。我禁用了New Relic SDK,从Testflight下载的版本停止崩溃。我尚未报告错误,但您/我/我们可能应该报告。

09-10 08:37
查看更多