2013-04-02 2 views
3

바보 같은 질문이 들리지만 iOS 6의 viewDidUnload가 더 이상 불려 가지 않아서, 개발 장치의 xCode로 현재 디버깅중인 iOS 앱을 올바르게 종료하는 방법에 관심이 있습니다. 아래의 중지 버튼을 충분히 치고 있습니까? 나는 그 버튼을 누를 때현재 실행중인 xCode 프로젝트를 올바르게 중지하는 방법은 무엇입니까?

enter image description here

정확히 어떻게됩니까? 앱에 정지 신호를 보내는 것과 동일합니까? 앱을 즉시 종료 하시겠습니까? dealloc 코드가 호출 되었습니까? 내가 묻는 이유는 시작/중지 디버깅을 반복 한 후 내 앱에 임의의 메모리 문제 (누출이 프로파일 링으로 감지되지 않음)가있는 것처럼 보이는 문제가 발생합니다.

귀하의 의견에 감사드립니다!

답변

5

타격 중지로 앱이 즉시 종료됩니다. dealloc이나 다른 코드가 호출되지 않습니다 (데이터을 저장할 수있는 응용 프로그램을 위임하는 응용 프로그램이 전혀 없음) () 프로세스가 방금 종료됩니다. 프로세스에 사용 된 모든 메모리가 해제되고 다시 시작할 때 처음부터 시작됩니다.

"임의 메모리"문제의 원인이되지는 않습니다. 겪고있는 증상에 대해 더 자세하게 설명 할 수 있다면 더 많은 이야기가있을 수 있습니다.

사용자가 수행 할 수있는 작업을 시뮬레이트하는 가장 좋은 방법은 과정을 중지하는 것입니다. 이것은 앱을 종료하지 않지만 어쨌든 배경을 입력 할 때 필요한 모든 것을 다루어야합니다.

+0

문제는 여기에 설명되어 있습니다. http://stackoverflow.com/questions/15673536/ipad-ios6-very-long-delay-between-viewwillappear-and-view-appearing-on-the-scre 당신이 기억에 관해서 말한 것은 이것이 또한 갑자기 종료 후 자체 복구를 시도하는 핵심 데이터 내에서 무언가에 의해 호출 됨 (RestKit을 사용하고 있습니다) –

+0

내 경험에 따르면 Core Data는 세션간에 매우 까다로운 작업이었습니다. 테이블에 행이나 개체를 추가하는 경우 대개 시뮬레이터에서 앱을 삭제하거나 iOS Simulator> 애플리케이션 바에서 콘텐츠 및 설정 재설정을 수행해야합니다. – Heckman

+0

설정시 오류가 발생하면 영구 저장소를 삭제하면됩니다. 많은 시간을 절약 할 수 있으며 어쨌든 프로덕션 코드에서 원하는 내용 일 것입니다. – jrturton

3

ApplicationWillTerminate 응용 프로그램이 제대로 종료되면 호출됩니다. 중지 버튼을 클릭하면 응용 프로그램이 종료되고이 경우 메소드 호출을 추적하지 못할 수 있습니다. UIViewControllerviewDidUnload 또는 dealloc 메서드가 없으므로 수퍼 dealloc을 호출하지 않고 직접 dealloc 메서드를 정의 할 수 있습니다.

Application life Cycle을 살펴볼 수 있습니다. 그것은 많은 질문에 답할 수 있습니다.

관련 문제