2011-08-25 4 views
25

서비스에서 데이터를로드하는 동안 iPad 앱을 닫으면 앱이 종료되지만 아무 것도하지 않으면 즉시 다시 열립니다. 이 시점에서 나는 아무 것도 할 수 없다. 앱을 닫을 수 없어 앱이나 기기와 상호 작용할 수 없습니다. 장치를 다시 사용하는 유일한 방법은 장치를 다시 시작하는 것입니다. 앱이 충돌하지 않고 단순히 기기를 사용 중지합니다. 이 경우+ 거래 내에서 호출 된 [CATransaction synchronize]

, 다음 줄은 세 번 바로 applicationWillResignActiveapplicationDidEnterBackground :와 후 콘솔에 나타납니다 : 그것은 응용 프로그램 충돌하는 경우는 거의 괜찮을 것

+[CATransaction synchronize] called within transaction 

하지만, 사실 그 장치가 완전히 쓸모없는 렌더링은 큰 문제입니다. CATransaction이이 문제를 제기하면이 버그를 가로 채거나 어떻게 든 감지 할 수 있다면 괜찮을 것입니다.

아이디어가 있으십니까?

+0

문제에 대한 해결책을 찾으셨습니까? – matm

+0

나는 같은 문제가있다, 이유를 알아 냈는가? – nullmicgo

+1

답을 찾았습니까? 나는 그물에 어떤 것도 발견 할 수없는 것처럼 보이고 나의 모든 개조와 시합은 실패한다. 이 [CATransaction synchronize]는 여전히 내 메인 스레드를 차단합니다. – nferocious76

답변

9

주 스레드에서 둘 이상의 애니메이션이 발생하는 경우 발생합니다. 나는 똑같은 문제에 직면했다. 필자의 경우 CALayer에 애니메이션을 적용하고 동시에 장치를 회전하면서 애플리케이션이 정지합니다. 그래서 나는 장치를 회전시키면서 애니메이션을 멈췄다. 코드

[CATransaction begin] 

//foo 
[CATransaction commit] 

이 코드 내부에 그 애니메이션이 주 스레드에서 다른 애니메이션과 겹치지 않는 확인을위한

봐.

+0

그게 내가 모든 commitAnimation 에서이 일을해야 의미입니까? [CATransaction begin]; [UIView commitAnimations]; [CAT 트랜잭션 커밋]; – nullmicgo