Как отправить приложение в фоновый режим при установке на устройство? - PullRequest
2 голосов
/ 12 марта 2012

Я создаю приложение, в котором мне нужны такие функции, как, например, когда я запускаю свое приложение на устройстве, оно сразу же закрывается без отображения экрана. Но приложение работает в фоновом режиме.Когда пользователь нажимает на значок приложения, он не будет отображать экран, а будет работать в фоновом режиме.Через 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);}

Но это не работает, как я хочу.Так что же такое ошибка в этом коде?Как это сделать?

Заранее спасибо ...

1 Ответ

1 голос
/ 12 марта 2012

Вы не можете убрать свое приложение, вручную вызвав [self applicationWillTerminate:application];.Это метод делегата, который вызывается, когда ваше приложение должно быть завершено, а не метод завершения приложения.

Вы можете попытаться запланировать локальное уведомление в 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
}

Обратите внимание, что это определенно не будет одобрено для App Store.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...