У меня возникла странная проблема, когда пользовательский элемент управления, который я создал для iPhone, отлично работает при построении в режиме отладки, но работает только частично при создании в режиме деблокирования.Способы касания не работают с выпуском
Основной вид оболочки представляет собой подкласс UIView
и содержит ряд «кнопок», которые добавляются в виде подзонов. Класс пользовательской кнопки расширяет UIImageView
и переопределение методов сенсорными со следующими подписями:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
При построении отладки кода, все 4 из этих функций вызываются в моменты можно было бы ожидать, с построения релиза, ничего не происходит , У меня есть вход в каждый из них, и я не получаю никаких сообщений журнала (работает другое ведение журнала).
Еще одна интересная вещь: у меня есть методы touchBegan/Moved/Ended, переопределенные в классе представления оболочки, и они работают нормально. Я пробовал комментировать эти методы в классе-оболочке, чтобы убедиться, что это повлияло на кнопки, но это не так.
Я также попытался изменить класс UIImageView
вместо подкласса UIButton
, но у меня такая же проблема, включая любые события, такие как touchUpInside. Они работают в отладке, но не в выпуске.
Я пробовал исследовать этот вопрос, а также общую обработку событий и приступил к работе с пустыми руками. Любые идеи, где смотреть дальше?
С этой информацией немного сложно сказать. Получаете ли вы какие-либо предупреждения, когда вы очищаете все цели и перестраиваете сборку релизов? Создана ли ваша версия для другой цели для сборки отладки? –
У Clean build нет ошибок или предупреждений, все настройки сборки одинаковы, за исключением того, что для Active Configuration установлено значение Release вместо Debug. Это воспроизводится на iPhone, iPod touch и симуляторе. – Loktar