我的应用程序以某种方式崩溃UIApplicationMain
设备的iOS 10.3.1
方法。
表示 SIGSEGV:SEGV_ACCERR 崩溃。
到目前为止,这是我记录数据的原因:
0 libobjc.A.dylib 0x00000001943afbd0 objc_msgSend + 12
1 CoreFoundation 0x0000000182b7bf6c ___forwarding___ + 436
2 CoreFoundation 0x0000000182a7eccc __forwarding_prep_0___ + 88
3 CoreFoundation 0x0000000182b7e100 __invoking___ + 140
4 CoreFoundation 0x0000000182a7a2fc -[NSInvocation invoke] + 292
5 WebCore 0x000000019148aefc HandleDelegateSource() + 116
6 CoreFoundation 0x0000000182b30240 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 20
7 CoreFoundation 0x0000000182b2f4e4 __CFRunLoopDoSources0 + 260
8 CoreFoundation 0x0000000182b2d594 __CFRunLoopRun + 708
9 CoreFoundation 0x0000000182a592d4 CFRunLoopRunSpecific + 392
10 GraphicsServices 0x000000018c26f6fc GSEventRunModal + 164
11 UIKit 0x000000018761efac UIApplicationMain + 1484
! 12 my_app_name 0x00000001000c9954 main (main.m:14)
13 libdyld.dylib 0x0000000194a1aa08 start + 0
这是方法:
// If nil is specified for principalClassName, the value for NSPrincipalClass from the Info.plist is used. If there is no
// NSPrincipalClass key specified, the UIApplication class is used. The delegate class will be instantiated using init.
UIKIT_EXTERN int UIApplicationMain(int argc, char *argv[], NSString * __nullable principalClassName, NSString * __nullable delegateClassName);
有关如何调试此类无效内存引用错误的任何想法?
答案 0 :(得分:1)
可能是由于重命名的IBOutlet
实例变量与XML中隐藏旧名称的相应.xib文件不匹配造成的?
有关Xcode重构中的缺陷的深入示例,该示例导致应用程序在执行任何代码之前在UIApplicationMain()
中崩溃: