我正在尝试子类UIApplication来捕获所有触摸事件,这用于查看用户是否是afk。无论如何,第一次启动应用程序时,效果很好。如果将它放在后台并再次打开2次,则它会崩溃。我不知道是什么原因造成的。我在[super sendEvent:event]上得到EXEC_BAD_ACCESS;

我的子类MyUI:

@implementation MyUI

- (void)sendEvent:(UIEvent *)event {
    [super sendEvent:event]; // <-- EXEC_BAD_ACCESS

    if (event.type == UIEventTypeTouches) {
        UITouch *touch = [event allTouches].anyObject;
        if (touch.phase == UITouchPhaseBegan) {
           // Calling some methods
        }
     }
}
@end

主.m
int main(int argc, char *argv[])
{
    NSString* appClass = @"MyUI";
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, appClass, nil);
    [pool release];
    return retVal;
}

最佳答案

要获取EXC_BAD_ACCESS的确切原因,请在您的应用程序中使用nszombieenabled。
该链接将指导您使用它。 ta田

关于iphone - 子类化UIApplication以覆盖sendEvent导致崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5852872/

10-10 20:48