Краткий ответ: он пытается вызвать -isEqualToString: для экземпляра UIDeviceRGBColor, который не отвечает на него.
Длинный ответ: вы либо запрашиваете неправильный объект в какой-то момент, либо вполне вероятно пытаетесь получить доступ к объекту, который был освобожден, но указатель которого не был установлен в ноль. Иногда, когда это происходит, вы получаете прямой сбой, поскольку память в новом месте не является надлежащим объектом. Иногда новый объект занимает свое место. Лучший способ узнать это - включить зомби.
Это хороший обзор того, как использовать зомби: http://iosdevelopertips.com/debugging/tracking-down-exc_bad_access-errors-with-nszombieenabled.html
Вы можете начать видеть сообщения о том, что «- [NSCFString isEqualToString:] сообщение отправлено в освобожденный экземпляр». Если это так, то это проблема управления памятью, и вам нужно дважды проверить свои сохранения и релизы. Если вы не получите это сообщение, то вы, вероятно, вызываете неправильный метод и возвращаете неправильный объект.