1

我想知道为什么我的 iOS 应用程序(部署目标 iOS 4.3 - xcode 4)会崩溃。

我在 iPad 模拟器 5.0 到 6.1 中进行了测试,并且可以 100% 工作,但在我的 iPad 上使用 iOS 4.3(嗯,它不是我的,所以我无法更新 iOS,但最好用旧的 iOS 版本练习)使应用程序崩溃,这样说:

2013-02-07 16:07:45.093 GeoRuta[169:707] -[mainViewController presentViewController:animated:completion:]: unrecognized selector sent to instance 0x331960
2013-02-07 16:07:45.113 GeoRuta[169:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[mainViewController presentViewController:animated:completion:]: unrecognized selector sent to instance 0x331960'
*** Call stack at first throw:
(
0   CoreFoundation                      0x30f8064f __exceptionPreprocess + 114
1   libobjc.A.dylib                     0x32828c5d objc_exception_throw + 24
2   CoreFoundation                      0x30f841bf -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
3   CoreFoundation                      0x30f83649 ___forwarding___ + 508
4   CoreFoundation                      0x30efa180 _CF_forwarding_prep_0 + 48
5   GeoRuta                             0x00003781 -[mainViewController saltarConfiguracion:] + 184
6   CoreFoundation                      0x30ef0571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
7   UIKit                               0x3575eec9 -[UIApplication sendAction:to:from:forEvent:] + 84

8   UIKit                               0x3575ee69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
9   UIKit                               0x3575ee3b -[UIControl sendAction:to:forEvent:] + 38
10  UIKit                               0x3575eb8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
11  UIKit                               0x3575f423 -[UIControl touchesEnded:withEvent:] + 342
12  UIKit                               0x3575dbf5 -[UIWindow _sendTouchesForEvent:] + 368
13  UIKit                               0x3575d56f -[UIWindow sendEvent:] + 262
14  UIKit                               0x35746313 -[UIApplication sendEvent:] + 298
15  UIKit                               0x35745c53 _UIApplicationHandleEvent + 5090
16  GraphicsServices                    0x31a4de77 PurpleEventCallback + 666
17  CoreFoundation                      0x30f57a97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
18  CoreFoundation                      0x30f5983f __CFRunLoopDoSource1 + 166
19  CoreFoundation                      0x30f5a60d __CFRunLoopRun + 520
20  CoreFoundation                      0x30eeaec3 CFRunLoopRunSpecific + 230
21  CoreFoundation                      0x30eeadcb CFRunLoopRunInMode + 58
22  GraphicsServices                    0x31a4d41f GSEventRunModal + 114
23  GraphicsServices                    0x31a4d4cb GSEventRun + 62
24  UIKit                               0x35770d69 -[UIApplication _run] + 404
25  UIKit                               0x3576e807 UIApplicationMain + 670
26  GeoRuta                             0x000030a9 main + 172
27  GeoRuta                             0x00002ff8 start + 40
)
terminate called after throwing an instance of 'NSException'

选择器是:

- (IBAction) saltarConfiguracion: (id)sender
{
    configuracionViewController *obj = [[configuracionViewController alloc]initWithNibName:@"configuracionViewController" bundle:nil];
    [self presentViewController:obj animated:YES completion:nil];
}
4

1 回答 1

5

因为[self presentViewController:obj animated:YES completion:nil]是一个新的 iOS 5 方法。你不能在 iOS 4 上使用它。相反,尝试调用[self presentModalViewController:obj animated:YES](类似的东西)

于 2013-02-07T16:34:44.110 回答