I have a strange rare crashes in my iOS app.
The stack-trace shows a function _UIAnalyticsGatherMutitouchAnalytics, for which I can't find any info.
There's no intentional analytics in the project, so I suppose Apple gathers it by itself.
I've set a symbolic breakpoint to both _UIAnalyticsGatherMutitouchAnalytics and UIAnalyticsGatherMutitouchAnalytics: no hits.
While the stack-trace doesn't contain a custom code, I suppose this multitouch analytics is gathered when the user works with a custom UIVIew.
This view has a complex logic of processing touches inside touchesBegan/touchesBegan/touchesEnded:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
and also has a gesture recognizers for 3 fingers:
UISwipeGestureRecognizer * swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleThreeFingersSwipeLeft)];
[swipeLeft setCancelsTouchesInView:YES];
[swipeLeft setDirection: UISwipeGestureRecognizerDirectionLeft];
[swipeLeft setNumberOfTouchesRequired:3];
I have no ideas what to look next, so the questions are:
1. When/why the crash in "UIAnalyticsGatherMutitouchAnalytics" can happen?
2. Can the touch handling code I provided be related to the crash?
3. Can this be a bug of Apple?
4. Is there a way to disable this analytics?
Any comments are highly appreciated.
UPDATE:
I've set a symbolic breakpoint to [NSConcreteMapTable removeObjectForKey:], it fires on each touch. But there's no stacktrace, so I'm not sure this is caused by analytics: