Вопрос о вариантах запуска iPhone Urban Airship - PullRequest
2 голосов
/ 03 июня 2011

У меня довольно простой вопрос, что поиск не привел меня к ответу. В моем приложении: метод didFinishLaunchingWithOptions Я выполняю следующие действия для восстановления уведомлений, которые пришли, когда программа не запущена:

 //Init Airship launch options
 NSMutableDictionary *takeOffOptions = [[[NSMutableDictionary alloc] init] autorelease];
 [takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];
 [UAirship takeOff:takeOffOptions];
 [UAPush shared].delegate = self;
 [[UAPush shared] resetBadge];

 // Register for notifications through UAPush for notification type tracking
 [[UAPush shared] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                      UIRemoteNotificationTypeSound |
                                                      UIRemoteNotificationTypeAlert)];

Во время работы программы (на переднем или на заднем плане) я могу восстановить свое предупреждение дирижабля следующим образом:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
 NSLog(@"\nReceived remote notification:\n%@\n\n", userInfo);

 [[UAPush shared] handleNotification:userInfo applicationState:application.applicationState];
 [[UAPush shared] resetBadge]; // zero badge after push received

 NSString *alertMessage = [[userInfo objectForKey:@"aps"] valueForKey:@"alert"];
}

У меня такой вопрос: какую последовательность команд я могу выполнить для извлечения той же информации, полученной в alertMessage из userInfo, когда программа работает на переднем плане или в фоновом режиме, из launchOptions из сообщений, отправленных во время работы программы? Заранее спасибо:)

1 Ответ

7 голосов
/ 03 июня 2011

NSDictionary * userInfo = [launchOptions valueForKey: @ "UIApplicationLaunchOptionsRemoteNotificationKey"];

NSDictionary * apsInfo = [userInfo objectForKey: @ "aps"];

NSString * alertMsg = [apsInfo objectForKey: @ "alert"];

...