0

지금 내 앱은 세로 만 지원해야합니다. 요약/지원되는 디바이스 오리엔테이션 내 어플리케이션이 회전하지 않기를 바란다. 나는 장치에 응용 프로그램을 테스트하고 갑자기 무작위로 다음과 같은 오류를 받고 있어요 :인식 할 수없는 선택기가 deviceOrientationDidChange의 인스턴스로 전송되었습니다.

[UIButtonContent deviceOrientationDidChange:]: unrecognized selector sent to instance 

그것은 내가 가끔 장치를 회전 할 때 발생하는 일치하지 않습니다, 그리고 UIBUttonContent을 통해 항상 없습니다. 나는 Portrait 만 선택하면 deviceOrientationDidChange를 호출하거나 무시해서는 안된다고 생각합니다.

내 앱이 EXC_BAD_ACCESS (코드 = 1, 주소 = 무언가)와 충돌하는 경우도 있지만 기기를 돌릴 때 발생하므로 두 오류가 모두 관련 있다고 추측합니다.

피드백에 대한 답변이 없기 때문에 디버깅하기가 어렵습니다. 모든 예외 브레이크 포인트가 호출되지 않아서 왜 이런 일이 발생하는지 정확히 알 수 없습니다. 이 디버깅하는 방법에 대한 아이디어는 언제나 환영합니다.

+0

더 많은 코드와 함께 할 수 있습니다 ... – SomaMan

+0

알아요,하지만 모든 응용 프로그램에서 발생하므로 여기에 넣을 코드를 모릅니다. – clopez

답변

0

나는이 문제를 오래전에 해결했지만 실제로이 상황에서 나를 도왔던 것을 나누는 것이 좋다.

인스 트루먼 테이션을 사용하여 모든 결과를 시도한 후에 구식 디버깅을 시작했습니다. 나는 "어디에서"오류가 있었는지에 대한 생각을 가지고 있었기 때문에 나는 그 부분에있는 모든 코드에 대해 주석을 달았습니다. 나도 옳았 어, 버그는 일부 기능과 함께 사라졌다. 그 후 나는 버그 라인이 생길 때까지 "바이너리 주석 처리 해제"(반쪽 주석 처리 해제)를했다. 제 3 자 라이브러리 였고, 적절하게 출시되지 않은 오브젝트가있었습니다.

0

deviceOrientationDidChange:으로 전화해야하는 수업이 있습니까? 이런 일이 발생하면 대개 할당 해제 된 객체에 매달린 참조가 있음을 의미합니다. "좀비"모드에서 인 스트 루먼트로 앱 프로파일 링을 시도해야합니다.

+0

방금 ​​xcode 4.3.2로 업데이트했고 Instruments가 사라져서 먼저 수정했습니다. – clopez

+0

http://stackoverflow.com/questions/9541153/where-did-instruments-go-in-xcode-4-3 – clopez

+0

저는 대개 Product => Profile을 XCode에서 수행합니다. –

1

이는 메모리 관리 오류의 전형적인 징표입니다. 당신은 어떤 객체를 over-release했는데 다른 객체가 그것을 참조하는 동안 그것은 할당 해제되었습니다. 나중에, 뭔가 메시지. 어떤 경우에는 새로운 객체가 자리를 잡았지만 그 객체는 수신하는 메시지를 이해하지 못합니다. 다른 경우 유효한 오브젝트가 없으므로 충돌이 발생합니다.

좀비 악기를 사용하여 초과 출시를 찾는 데 도움이되도록 편집되었습니다.

+0

ARC를 사용하기 때문에 이상합니다. – clopez

관련 문제