2012-03-12 4 views
2

나는 장치에서 응용 프로그램을 실행할 때처럼 screen.But 응용 프로그램이 백그라운드에서 작동하는지 즉시 표시하지 않고 즉시 종료됩니다 같은 기능을 원하는 응용 프로그램을 만들고 있습니다. 사용자가 응용 프로그램의 아이콘을 클릭하면 아무런 화면도 보이지 않고 배경으로 작동합니다. 2 분 후에 경고 메시지가 나타납니다. 어떻게 그럴 수 있죠?장치에 설치할 때 백그라운드로 응용 프로그램을 보내려면 어떻게해야합니까?

나는 아래이 코드를 사용했다 : -

-(void)applicationDidFinishLaunching:(UIApplication *)application{ 
[application cancelAllLocalNotifications]; 
[self applicationWillTerminate:application];}-(void)applicationWillTerminate:(UIApplication *)application{ 
/* 
Called when the application is about to terminate. 
Save data if appropriate. 
See also applicationDidEnterBackground:. 
*/ 

UILocalNotification* ln = [[UILocalNotification alloc] init]; 
ln.fireDate =[NSDate dateWithTimeIntervalSinceNow:30]; 
ln.alertBody = [NSString stringWithFormat:@"Now app is working in Background."];   
ln.soundName = UILocalNotificationDefaultSoundName; 
[[UIApplication sharedApplication] scheduleLocalNotification:ln]; 
ln.hasAction=NO; 
[ln release]; 
exit(0);} 

그러나 내가 원하는대로이 작동하지 않습니다. 그렇다면이 코드의 버그는 무엇입니까? 어떻게 그럴 수 있죠? 수동 [self applicationWillTerminate:application];를 호출하여 멀리 응용 프로그램을 넣을 수 없습니다

답변

1

사전에

감사합니다 .... 이것은 응용 프로그램을 종료 할 메서드가 아니라 응용 프로그램이 곧 종료 될 때 호출되는 대리자 메서드입니다.

로컬 알림을 didFinishLaunchingWithOptions:에 예약하고 나중에 exit(0);으로 전화를 걸 수 있습니다. 어떤 종류의 스플래시 화면 (또는 검은 색 화면)이 잠시 나타납니다.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    [application cancelAllLocalNotifications]; 
    UILocalNotification* ln = [[UILocalNotification alloc] init]; 
    ln.fireDate =[NSDate dateWithTimeIntervalSinceNow:30]; 
    ln.alertBody = [NSString stringWithFormat:@"Now app is working in Background."];   
    ln.soundName = UILocalNotificationDefaultSoundName; 
    [[UIApplication sharedApplication] scheduleLocalNotification:ln]; 
    ln.hasAction=NO; 
    [ln release]; 
    exit(0); //this line kills the app (and gets your app rejected) 
    return NO; //this line is just to make compiler happy 
} 

이것은 앱 스토어에서 승인되지 않을 것입니다.

+1

사과로 거절 당할 수 있습니다. 통화가 끝나면 가짜 전화 앱과 비슷한 것을하고 싶었습니다. 그들은 모든 출구 (0) 전화를 확인하고 그들이 즉시 앱을 거부하면 통화를 찾습니다. –

관련 문제