我正在使用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下载的版本停止崩溃。我尚未报告错误,但您/我/我们可能应该报告。