2013-06-27 3 views
0

applicationWillEnterForegroundWithOptions api가 없음을 발견했을 때 놀랍습니다.applicationWillEnterForeground에서 UIApplicationLaunchOptionsURLKey에 액세스하려면 어떻게해야합니까?

사용자 정의 UTI를 내보내는 앱이 있습니다. 첨부 파일이 포함 된 전자 메일을 받으면 첨부 파일을 보류하면 MyApp에서 열기 옵션이 표시됩니다. 그것을 누르면 예상대로 MyApp가 열립니다. didFinishLaunchingWithOptions에 전달 된 실행 옵션에서 파일 URL을 검색 할 수 있기 때문에 내 앱이 배경에없는 경우에는이 모든 것이 훌륭하고 훌륭합니다.

내 앱이 백그라운드에 있다면 어떻게 될까요? 열기 버튼을 누르면 applicationWillEnterForeground를 호출하여 내 앱을 포 그라운드로 가져 오지만 userInfo 사전 없이는 내 앱이 활성화 된 URL을 어떻게 얻을 수 있습니까?

누구든지 아이디어가 있습니까?

답변

2

UIApplicationDelegateapplication:openURL:sourceApplication:annotation:은 앱을 실행하여 URL을 열 때 호출됩니다. 앱이 새로 출시되거나 단순히 포 그라운드로 가져온 경우에도 마찬가지입니다.

URL을 처리해야하는 것은이 방법 (application:didFinishLaunchingWithOptions: 방법이 아님)입니다.

+0

유일한 문제는 openURL을 AFTER didFinishLaunchingWithOptions 및 applicationWillEnterForeground 메서드라고합니다 ... 그래서 어느 메서드도 열려있는 것을 알 수 없습니다. openURL 메소드에서 수행해야하는 작업을 수행하고 openURL에 도달하기 전에 standardUserDefaults 또는 이와 유사한 항목에 필요한 변수 (예 : 변수 등)를 저장해야합니다. – Jann

관련 문제