IOS/XCode: как узнать, что приложение было запущено с щелчком на уведомлении или на значке приложения для трамплинов?
Я хотел бы знать, есть ли способ узнать, было ли запущено приложение (которое можно закрыть или открыть в фоновом режиме), нажав на:
- уведомление (в центре уведомлений)?
- или значок приложения на трамплине?
Спасибо!
Ответы
Ответ 1
введите этот код:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UILocalNotification *notification = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey];
if (notification) {
// launched from notification
} else {
// from the springboard
}
}
в UIApplicationDelegate
.
Ответ 2
Из Apple Docs на Планирование, регистрация и обработка уведомлений:
Примечание iOS.. В iOS вы можете определить, запускается ли приложение в результате нажатия пользователем кнопки действия или отправки уведомления в уже запущенное приложение путем изучения приложения государство. В делегатах реализована реализация application:didReceiveRemoteNotification: или application:didReceiveLocalNotification:, получите значение свойства applicationState и оцените его. Если значение UIApplicationStateInactive, пользователь нажал кнопку действия; если значение UIApplicationStateActive, приложение было самым ранним, когда оно получило уведомление.