什么是UICalloutBarButton,为什么它会让我的应用程序崩溃?

ale*_*x_c 7 iphone

我正在浏览一些报告的iPhone应用程序崩溃报告,我对以下内容感到困惑.

它很可能在我的代码中崩溃 - 它可能是一个事件处理程序在某处调用错误的选择器.问题是我不知道这个代码是什么 - 我不知道UICalloutBarButton或UICalloutBar是什么.

另外,不用说,我不能在我的最终重现这一点,否则很容易弄清楚它在哪里发生.

Date/Time:       2011-03-18 14:33:13.373 +0100
OS Version:      iPhone OS 4.3 (8F190)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x317aaa1c __pthread_kill + 8
1   libsystem_c.dylib               0x355593b4 pthread_kill
2   libsystem_c.dylib               0x35551bf8 abort
3   libstdc++.6.dylib               0x33378a64 __gnu_cxx::__verbose_terminate_handler() + 376
4   libobjc.A.dylib                 0x364b506c _objc_terminate
5   libstdc++.6.dylib               0x33376e36 __cxxabiv1::__terminate(void (*)()) + 46
6   libstdc++.6.dylib               0x33376e8a std::terminate() + 10
7   libstdc++.6.dylib               0x33376f5a __cxa_throw + 78
8   libobjc.A.dylib                 0x364b3c84 objc_exception_throw
9   CoreFoundation                  0x354e21b8 -[NSObject(NSObject) doesNotRecognizeSelector:]
10  CoreFoundation                  0x354e1642 ___forwarding___
11  CoreFoundation                  0x35458178 _CF_forwarding_prep_0 + 40
12  CoreFoundation                  0x3544befc -[NSObject(NSObject) performSelector:withObject:]
13  UIKit                           0x35e259b2 -[UICalloutBar buttonPressed:]
14  CoreFoundation                  0x3544befc -[NSObject(NSObject) performSelector:withObject:]
15  UIKit                           0x35e25cd4 -[UICalloutBarButton sendCallback]
16  Foundation                      0x31d096ce __NSFireDelayedPerform
17  CoreFoundation                  0x354b5a40 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
18  CoreFoundation                  0x354b7ec4 __CFRunLoopDoTimer
19  CoreFoundation                  0x354b883e __CFRunLoopRun
20  CoreFoundation                  0x35448ebc CFRunLoopRunSpecific
21  CoreFoundation                  0x35448dc4 CFRunLoopRunInMode
22  GraphicsServices                0x328e8418 GSEventRunModal
23  GraphicsServices                0x328e84c4 GSEventRun
24  UIKit                           0x35bffd62 -[UIApplication _run]
25  UIKit                           0x35bfd800 UIApplicationMain
26  app name                        0x000022d0 main + 36
27  app name                        0x0000226c start + 44
Run Code Online (Sandbox Code Playgroud)

Vin*_*rci 5

UICalloutBar 是一个UIKit私有API.

我认为这是文本选择中出现的上下文菜单...(复制/粘贴......)

无论如何,这次崩溃真的很喜欢来自内部API.

所以我猜它是:

  • 一个苹果bug(检查iOS版本与崩溃事件)
  • 或者有越狱设备的人,带有脏的扩展/调整内部API

我担心你找到解决这个问题的可能性非常低.我希望我错了!:)