Предотвращение сообщений об ошибках, регистрируемых system framework

#iphone #objective-c #xcode #ios

#iPhone #objective-c #xcode #iOS

Вопрос:

Следующее сообщение продолжает регистрироваться на консоли:

 -[__NSCFSet minusSet:]: This app appears to be calling this method with
        a non-set parameter. Please wait while the system corrects this...
  

Я не знаю, что я сделал, чтобы это появилось. Я никогда не вызываю эту функцию и не знаю, как это называется.

Для меня это появляется при касании чего-либо в моем UIWebView. Это может быть касание в текстовом поле или просто простое касание в любой области страницы. Любое новое касание приведет к этому.

У кого-нибудь есть идея, как это решить?

Комментарии:

1. К сожалению, iOS 5 находится под NDA, поэтому мы действительно не можем здесь много обсуждать. Я думаю, что вам лучше всего отправить отчет об ошибке и, возможно, спросить кого-нибудь из нас на форумах разработчиков, если вы зашли в тупик.

2. Проблему @Jonathon OP можно задать и получить на нее ответ без ссылки на iOS 5, так что, похоже, здесь она по теме. Сообщать об ошибке и задавать вопросы на форумах разработчиков по-прежнему очень хорошие идеи!

3. Я делаю это, была хорошая идея, но до сих пор ответа нет: P

Ответ №1:

Вы должны быть в состоянии выяснить, вызывает ли ваш код сообщение журнала или нет. Вы можете сделать это, прервав работу приложения при регистрации сообщения и просмотрев обратную трассировку стека в потоке ведения журнала. Затем выясните, какой код создал объект, который запрашивает сообщение журнала, используя malloc history или инструменты.

Для начала вы можете попробовать добавить символическую точку останова на -[__NSCFSet minusSet:] . Вы могли бы сузить поиск до фактического кода, выполняющего протоколирование, если бы посмотрели дизассемблирование на предмет вызова NSLog и поместили туда точку останова.

Как только вы исключили свой код, это не ваша вина: пришло время отправить отчет об ошибке и двигаться дальше. Если сообщения журнала заполняют более интересные сообщения журнала, вы можете попробовать исправить двоичный файл, чтобы он не регистрировался, но просто жить с ним, вероятно, будет проще (хотя и гораздо менее увлекательно).