Iphone 这是一个UIKit错误吗?

Iphone 这是一个UIKit错误吗?,iphone,uikit,keyboard,crash,Iphone,Uikit,Keyboard,Crash,我不确定这个bug是否真的来自我的应用程序,或者可能真的是一个UIKit bug。也许这里有人可以澄清一下 这里有一个桌面视图。每个单元格都提供一个“设置”按钮,类似于模式视图的屏幕。模式视图可以通过“关闭”按钮关闭 模态视图包含UITextView 现在问题来了: 用户持有提供类似字符的键(例如:a->äáa…)。当用户持有该键时,字符被提供,第一个字符被选择为蓝色。如果用户按住此按钮并同时单击“关闭”按钮。模态视图消失,表视图显示。键盘消失了,但{aáäa}菜单仍可见约一秒钟。然后应用程序崩

我不确定这个bug是否真的来自我的应用程序,或者可能真的是一个UIKit bug。也许这里有人可以澄清一下

这里有一个桌面视图。每个单元格都提供一个“设置”按钮,类似于模式视图的屏幕。模式视图可以通过“关闭”按钮关闭

模态视图包含UITextView

现在问题来了: 用户持有提供类似字符的键(例如:a->äáa…)。当用户持有该键时,字符被提供,第一个字符被选择为蓝色。如果用户按住此按钮并同时单击“关闭”按钮。模态视图消失,表视图显示。键盘消失了,但{aáäa}菜单仍可见约一秒钟。然后应用程序崩溃

这只能在设备上重现,因为您不能同时按下两个按钮

这是一个堆栈跟踪

Date/Time: 2009-12-01 17:39:31.048 +0100
OS Version: iPhone OS 3.0.1 (7A400)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000008
Crashed Thread: 0

Thread 0 Crashed:
0 libobjc.A.dylib 0x300102ac objc_msgSend + 16
1 UIKit 0x308ffda0 -[UIKeyboardImpl hasMarkedText] + 20
2 UIKit 0x309161b2 -[UIKeyboardImpl updateShiftState] + 230
3 UIKit 0x309224c0 -[UIKeyboardImpl handleObserverCallback] + 72
4 UIKit 0x30922466 observerCallback + 14
5 CoreFoundation 0x3020bf38 __CFRunLoopDoObservers + 420
6 CoreFoundation 0x30252e46 CFRunLoopRunSpecific + 1734
7 CoreFoundation 0x3025276a CFRunLoopRunInMode + 42
8 GraphicsServices 0x32044b08 GSEventRunModal + 108
9 GraphicsServices 0x32044bb4 GSEventRun + 56
10 UIKit 0x308f035c -[UIApplication _run] + 384
11 UIKit 0x308ef11a UIApplicationMain + 694
12 **** 0x00002360 main (main.m:14)
13 **** 0x000022fc start + 44

Thread 1:
0 libSystem.B.dylib 0x31d47624 semaphore_wait_signal_trap + 8
1 libSystem.B.dylib 0x31d702de semaphore_wait_signal + 2
2 libSystem.B.dylib 0x31d49c9c pthread_mutex_lock + 284
3 WebCore 0x35866fa6 __ZL17_WebTryThreadLockb + 98
4 WebCore 0x35866f22 __ZL14WebRunLoopLockP19__CFRunLoopObservermPv + 14
5 CoreFoundation 0x3020bf38 __CFRunLoopDoObservers + 420
6 CoreFoundation 0x30252db0 CFRunLoopRunSpecific + 1584
7 CoreFoundation 0x3025276a CFRunLoopRunInMode + 42
8 WebCore 0x35866ed2 __ZL12RunWebThreadPv + 286
9 libSystem.B.dylib 0x31d6a6ea _pthread_body + 10

听起来像个虫子。但是为什么不使用最新的操作系统版本呢?在3.0.1和最新版本之间有许多错误修复,您将在此类可能已修复的问题上浪费大量时间。

解决问题的方法是辞职first responder,我忘了。

您在最新的iPhone操作系统上尝试过这种方法吗?此外,当点击带有显示单元格的表视图时,不应使用模式方法(我打赌苹果会将其标记为UI违规),而是使用导航控制器从侧面将下一个(细节)视图推送到堆栈上。几天前我也遇到了同样的错误。但我仍然想知道,当你把视图推到导航控制器上时,是否有必要辞去第一响应者的职务。我想情况也是如此