У меня странные редкие сбои в моем приложении iOS. Трассировка стека показывает функцию _UIAnalyticsGatherMutitouchAnalytics
, для которой я не могу найти никакой информации.
В проекте нет преднамеренной аналитики, поэтому я полагаю, Apple собирает это сама.
Я установил символьную c точку останова на _UIAnalyticsGatherMutitouchAnalytics
и UIAnalyticsGatherMutitouchAnalytics
: нет попаданий.
Хотя трассировка стека не содержит пользовательский код, я полагаю эта мультитач-аналитика собирается, когда пользователь работает с пользовательским UIVIew
.
. Это представление имеет сложную логику c обработки касаний внутри touchesBegan/touchesBegan/touchesEnded
:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
, а также имеет распознаватели жестов для 3 пальцев:
UISwipeGestureRecognizer * swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleThreeFingersSwipeLeft)];
[swipeLeft setCancelsTouchesInView:YES];
[swipeLeft setDirection: UISwipeGestureRecognizerDirectionLeft];
[swipeLeft setNumberOfTouchesRequired:3];
Понятия не имею, что искать дальше, , поэтому вопросы :
1. Когда / почему sh в "UIAnalyticsGatherMutitouchAnalytics" может случиться?
2. Может ли предоставленный мною код касания работать с cra sh?
3. Может ли это быть ошибкой Apple?
4. Есть ли способ отключить эту аналитику?
Любые комментарии приветствуются.
ОБНОВЛЕНИЕ: Я установил символьную c точку останова на [NSConcreteMapTable removeObjectForKey:]
, она срабатывает при каждом касании. Но нет трассировки стека, поэтому я не уверен, что это вызвано аналитикой: