2012-10-10 4 views
0

IOS 응용 프로그램 개발을 위해 cordova 2.1.0을 사용하고 있습니다. 내 IOS 장치를 MAC 프로세서에 연결하고 xcode에서 실행중인 응용 프로그램을 설치/초기화하거나 itunes 폴더에서 끌어 왔습니다. 이제는 기기에서 물리적으로 기기를 연결 해제하고 기기에서 Wi-Fi를 사용 설정하여 APNS를 통해 기기로 알림/메시지를 보냈습니다. 기기에서 알림을 성공적으로 수신 할 수있었습니다. 이제 얼마 후, 다시 장치를 시작하고 'didFinishLaunchingWithOptions'메서드를 다시 호출하는 문제를 일으키는 프로세서에 장치를 다시 연결했습니다. 이는 실행/초기화가 한 번만 수행되어야하므로 바람직하지 않습니다. 이 동작은 임의적입니다. 연결이 끊어 지거나 다시 연결될 때마다 때로는 발생하지 않습니다. 왜 이런 일이 일어나는가? 이 무작위적인 행동의 이유는 무엇 일 수 있습니다.'didFinishLaunchingWithOptions'함수가 부적절하게 호출되었습니다.

어떤 도움을 appreciated.Thanks

+0

사과로 iOS 프로그래밍 가이드를 읽고 앱의 수명주기를 이해해야합니다. – Eiko

답변

1

didFinishLaunchingWithOptions:에게 앱을을 출시 할 때마다 호출 될 것입니다. Xcode에서 앱을 실행하고 장치를 연결 해제하면 앱이 종료됩니다. 따라서 기기를 연결 해제 한 상태에서 앱을 실행하면 앱이 다시 시작됩니다. 앱이 실행을 완료하면 didFinishLaunchingWithOptions:이 호출됩니다. Xcode에서 앱을 실행하고 같은 방식으로 다시 실행하면 똑같은 일이 발생합니다.

편집 :

분명히인지 확실하지,하지만 당신은 응용 프로그램 (보도 홈 버튼)을 종료하고 죽이지 않고 다시 호출하는 경우 didFinishLaunchingWithOptions:가 호출되지 않습니다.

+0

당신이 당연히 장치를 연결해도 'didFinishLaunchingWithOptions'함수를 다시 호출하고 앱을 다시 실행해야합니다. – clint

+0

Xcode에서 실행 중이면 연결 해제, 다시 연결 (또는 연결 안 함), 장치에서 앱 실행 (스프링 보드의 아이콘 터치)이 호출됩니다. Xcode에서 실행하고 Xcode에서 연결을 끊었다가 다시 연결하면 Xcode가 호출됩니다. 기본적으로 말했듯이 앱이 출시 될 때마다 호출됩니다 *. 이전에 해지되었을 때 앱이 실행됩니다. Xcode에서 실행 중일 때 종료되며 장치를 분리하거나 멀티 태스킹 막대에서 수동으로 종료하거나 다시 부팅 할 때 또는 장치의 메모리가 부족한 경우 장치 연결을 끊습니다. 지금은 더 분명해지기를 바랍니다. 그렇습니까? – rdurand

+0

나는 xcode에서 실행되는 것이 개발자로서 나를 위해서만있는 것을 보았다. 하루가 끝날 때 최종 사용자는 itunes에서 다운로드하거나 MAC 컴퓨터의 iTunes 폴더에서 드래그해야합니다 (연결된 장치 사용). 따라서이 두 시나리오에서 다시 시작해서는 안됩니다. 그렇지 않으면 그 목적을 달성하지 못합니다. 이 시나리오에서 다시 시작하지 못하게하려면 어떻게해야합니까? – clint

관련 문제