Хобрук: Ваш путь к мастерству в программировании

Как отображать уведомления в строке состояния с использованием динамических данных в iPhone?

В моем приложении я получаю данные, используя какое-то сетевое соединение

я хочу показать эти данные в панели уведомлений (строке состояния) в iPhone

Итак, как добавить данные, которые я вижу в строке состояния iPhone, когда я перетаскиваю его вниз

Я искал много руководств, но я не нашел ни одного хорошего, пожалуйста, помогите мне.

Пожалуйста, расскажите мне несколько идей, как я могу управлять своими данными в уведомлении или любом хорошем учебнике.

Пожалуйста, предложите любой хороший учебник, чтобы я мог управлять своими динамическими данными в панели уведомлений.

Спасибо


Ответы:


1

После получения данных:

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.fireDate = date;  // date after 10 sec from now
localNotif.timeZone = [NSTimeZone defaultTimeZone];

// Notification details
localNotif.alertBody =  text; // text of you that you have fetched
// Set the action button
localNotif.alertAction = @"View";

localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 1;

// Specify custom data for the notification
NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"];
localNotif.userInfo = infoDict;

// Schedule the notification
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

Чтобы обработать щелчок Noification:

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

// Override point for customization after application launch.

// Add the view controller's view to the window and display.
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    application.applicationIconBadgeNumber = 0;

// Handle launching from a notification

    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

    if (localNotif) {
        NSLog(@"Recieved Notification %@",localNotif);
    }

    return YES;
}

- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification  *)notif {
// Handle the notificaton when the app is running

    NSLog(@"Recieved Notification %@",notif);
}
14.10.2013
  • Спасибо, Имран Бхаи, это работает, и теперь я хочу связать событие с этим уведомлением, которое я получил, я хочу немного поработать над этим, щелкнув уведомление, которое я получил, я хочу выполнить какое-то действие, поэтому не могли бы вы рассказать мне подробнее больше, как я могу пойти дальше спасибо :) 14.10.2013
  • проверьте эту реализацию, добавленную в ответ 14.10.2013

  • 2

    я думаю, uilocalnotificatios устарели. теперь вы можете использовать UNUserNotificationCenter. мы можем добавить к нему изображение, как показано ниже:

    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];

            UNAuthorizationOptions options = UNAuthorizationOptionAlert + UNAuthorizationOptionSound;
    
            [center requestAuthorizationWithOptions:options
                                  completionHandler:^(BOOL granted, NSError * _Nullable error) {
                                      if (!granted) {
                                          //NSLog(@"Something went wrong");
                                      }
                                  }];
    
            int dayCounter =5;
    
            int minute = 48;
    
    
           {
                NSDateComponents *components = [[NSDateComponents alloc] init];
                components.weekday = dayCounter;
    
    
                 dayCounter++;
    
                components.hour = 12;
                components.minute = minute;
    
                UNCalendarNotificationTrigger *trigger =  [UNCalendarNotificationTrigger triggerWithDateMatchingComponents:components repeats:YES];
    
                UNMutableNotificationContent *objNotificationContent = [[UNMutableNotificationContent alloc] init];
                objNotificationContent.title = [NSString localizedUserNotificationStringForKey:@"Notification!" arguments:nil];
    
                objNotificationContent.body = [NSString localizedUserNotificationStringForKey:@"We made a surprise Edit for You" arguments:nil];
    
                objNotificationContent.sound = [UNNotificationSound defaultSound];
    
                objNotificationContent.badge = @([[UIApplication sharedApplication] applicationIconBadgeNumber] + 1);
    
    
                UNNotificationAttachment *attachment = nil;
    
                NSURL* outputURL = [[NSURL alloc] initFileURLWithPath:filePath];
                NSError *attachmentError = nil;
    
                attachment = [UNNotificationAttachment attachmentWithIdentifier:@"image"
                                                                            URL: outputURL
                                                                        options:nil
                                                                          error:&attachmentError];
                if (attachmentError) {
    
                    return;
                }
    
                objNotificationContent.attachments=@[attachment];
    
                NSString *identifier = @"UYLLocalNotification";
                UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:identifier
                                                                                      content:objNotificationContent trigger: trigger];
    
                [center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
                    if (error != nil) {
                        NSLog(@"Something went wrong: %@",error);
                    }
                    else
                    {
                    }
                }];
    
    22.03.2017
    Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..