【发布时间】:2011-05-02 01:57:23
【问题描述】:
我正在尝试子类 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
Main.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;
}
【问题讨论】:
-
可以添加堆栈跟踪吗?我在我的应用程序中使用相同的方法来跟踪每个触摸事件,并且效果很好。
标签: iphone ios objective-c ipad ios4