2012-05-21 3 views
1

iphone 응용 프로그램을 개발 중이며 응용 프로그램이 완전히 닫힌 경우에도 매 시간마다 응용 프로그램 내부의 파일 백업 기능을 개발하고 싶습니다.iphone에서 응용 프로그램이 닫힌 상태에서도 작업 수행

나는 NSLocalNotification를 사용하려고했지만이 방법을 AppDelegate에의

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 

를 호출하지 않습니다. 알림 상자에 취소 및보기 단추가있는 알림이 표시되면보기에서 클릭하면 응용 프로그램이 열리고 메서드는 호출되지 않습니다. 사용자가 취소라고해도이 메소드를 호출해야합니다.

그래서 파일 백업을 위해 웹 서비스를 호출하지 않습니다. 어느 누구도 나를 똑같이하는 링크로 안내 할 수 있습니까? 잘 부탁드립니다

, Rohit Jankar

답변

2

당신은 정말 당신이 원하는 것을 할 수 없습니다. iOS는 클라이언트가 VOIP 클라이언트, AudioPlayer 또는 사용자 위치를 추적하지 않는 한 백그라운드에서 실행되도록 허용하지 않기 때문에.

UILocalNotification의 해결책에 대한 문제는 iOS가 알림을 처리한다는 것입니다. 사용자가 취소를 클릭하면 앱에 대한 정보가 제공되지 않습니다. 보기 버튼 클릭 만 처리 할 수 ​​있습니다.

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification은 앱이 실행 중이거나 백그라운드에서 실행 중일 때만 호출됩니다.

당신은 로컬 알림에 사용자가 클릭보기 당신이 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 방법에 알림이 있는지 확인해야합니다 때 당신은 응용 시스템에 의해 시작됩니다 경우

UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

if (notification) { 
    //handle the notification. 
} 
+0

감사합니다. 따라서 사용자가 취소 버튼을 클릭하면 알림을받을 수 없습니다. 응용 프로그램이 완전히 종료 된 경우 밀어 넣기 알림이 작동하는지 여부를 알고 싶으면 응용 프로그램이 닫힐 때 알림 문제를 해결할 수 있습니다. – Rohit

+0

예, 앱이 닫히고 사용자가'view'를 선택하면 앱이 시작되고 알림은'- (BOOL) application : (UIApplication *) application didFinishLaunchingWithOptions : (NSDictionary *) launchOptions' 메소드로 전달됩니다. – rckoenes

1

내가 아이폰 응용 프로그램을 개발하고이 어디에 응용 프로그램 내에서 파일을 의 에 대한 서버에 데리고 기능을 개발할 때마다 응용 프로그램이 완전히 닫힌 경우에도.

몇 시간에 한 번씩 자신의 서버에 파일을 백업하는 것에 대해 이야기하는 경우 실제로 그렇게 할 방법이 없습니다. 반면에 앱이 실행되고 있지 않을 때 앱을 실행하지 않아도됩니다. 앱이 실행되고 있지 않으면 파일의 데이터를 수정할 수 없으며 다시 되돌릴 필요가 없습니다. 쪽으로. 대신 앱 이 실행 중일 때 일 때 정기적으로 데이터를 백업하십시오.

앱의 데이터가 어딘가에 백업되어 있는지 확인하려면 iCloud을 사용하는 것이 좋습니다. iCloud를 사용하도록 앱을 설정하면 데이터를 업데이트 할 때마다 데이터가 백업됩니다.

+0

감사합니다, Caleb – Rohit

관련 문제