iPhone 용으로 만든 사용자 정의 컨트롤이 디버그 모드로 빌드 할 때 완벽하게 작동하지만 릴리스 모드로 빌드 된 경우 부분적으로 만 작동하는 이상한 문제가 있습니다.터치 방식이 릴리스 빌드에서 작동하지 않습니다.
주 래퍼보기는 UIView
의 하위 클래스이며 서브 뷰로 추가되는 "단추"행을 포함합니다. 사용자 정의 버튼 클래스는 UIImageView
를 확장하고 다음 서명 터치 방법 오버라이드 (override)되어, 아무 일도 발생하지
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
디버그 코드를 구축, 이러한 기능의 4 당신이 기대할 수있는 시간에 호출을 릴리스 빌드 . 나는 그들 각각에 로그인했고 어떤 로그 메시지도 얻지 못하고있다 (다른 로그 작업이 작동 중이다).
또 다른 흥미로운 점은 래퍼 뷰 클래스에서 재정의 된 touchesBegan/Moved/Ended 메서드가 있으며 제대로 작동하고 있다는 것입니다. 래퍼 클래스에있는 메서드를 주석 처리하여 단추에 영향을 미치는지 알아 보았지만 시도하지 않았습니다.
또한 UIImageView
클래스를 UIButton
의 서브 클래스로 변경하려고 시도했지만 touchUpInside와 같은 이벤트를 포함하여 동일한 문제가 발생했습니다. 그들은 디버그에서 작동하지만 릴리스하지 않습니다.
일반 이벤트 처리는 물론이 문제를 조사해 보았습니다. 빈 손으로 처리했습니다. 어떤 아이디어가 다음으로 보일까요?
정보에서 알기가 약간 어렵습니다. 모든 타겟을 청소하고 릴리스 빌드를 다시 빌드 할 때 경고 메시지가 표시됩니까? 릴리스 빌드가 디버그 빌드와 다른 대상에 있습니까? –
클린 빌드에는 오류나 경고가 없으며 디버그 대신 릴리스로 설정된 활성 구성을 제외하고 모든 빌드 설정이 동일합니다. 이것은 iPhone, iPod touch 및 시뮬레이터에서 재현 할 수 있습니다. – Loktar