didFinishLaunchingWithOption не вызывается при нажатии кнопки действия push-уведомления - PullRequest
1 голос
/ 19 марта 2012

Я внедряю push-уведомления, используя библиотеку Urban Airship. Я могу получать push-уведомления из Test Push-уведомлений. Теперь, когда я нажимаю кнопку «Просмотреть, т. Е. Действие» в уведомлении о пуш-уведомлении, мое приложение запускается, но не может ответить на вызовы в didFinishLaunchingWithOption и applicationDidBecomeActive. Вот что я делаю до сих пор в моем didFinishLaunchingWithOption,

// Check if App running in Simulator.
        [self failIfSimulator];

        NSDictionary *remoteNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

        if (remoteNotification != nil) {
            NSString *message = [remoteNotification descriptionWithLocale:nil indent: 1];
            NSLog(@"Message in didFinishLaunchingWithOptions: %@",message);
        } 

        //Init Airship launch options
        NSMutableDictionary *takeOffOptions = [[[NSMutableDictionary alloc] init] autorelease];
        [takeOffOptions setValue:launchOptions forKey:UAirshipTakeOffOptionsLaunchOptionsKey];

        // Create Airship singleton that's used to talk to Urban Airship servers.
        // Please populate AirshipConfig.plist with your info from http://go.urbanairship.com
        [UAirship takeOff:takeOffOptions];

        // Register for notifications
        [[UIApplication sharedApplication]
         registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                             UIRemoteNotificationTypeSound |
                                             UIRemoteNotificationTypeAlert)];

Теперь, когда я получаю любое уведомление, используя Test Push и нажимая кнопку View, мое приложение запускается, но didFinishLaunchingWithOption не вызывается. Я что-то пропустил? Кроме того, я хочу показать свой собственный пользовательский интерфейс при просмотре уведомления.

Пожалуйста, ведите меня, если я что-то упустил. Также некоторые примеры, ссылки могут быть полезны. Заранее спасибо ...

1 Ответ

2 голосов
/ 19 марта 2012

Может, приложение уже запущено?Вам также необходимо реализовать:

application:didReceiveRemoteNotification:

Там вы получите уведомление, даже когда приложение уже запущено.

...