Я хочу обнаружить, если пользователь нажимает на push-уведомление, чтобы запустить приложение.or, чтобы получить его на переднем плане.Как узнать, может ли пользователь приложения нажимать iOS?
0
A
ответ
0
Просто реализовать в вашем AppDelegate метод
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
0
Если приложение не работает метод didFinishLaunchingWithOptions вызывается при запуске приложения, и вы можете проверить launchOptions параметры следующим образом:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if (launchOptions != nil) {
NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (notification) {
// Launched from push notification
}
}
}
Если приложение уже запущено, вы можете использовать этот метод:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if (application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground )
{
//opened from a push notification when the app was on background
}
}
Вы также можете проверить: Detect if the app was launched/opened from a push notification
Что делать, если приложение уже запущено? Мне нужно обрабатывать оба условия. –
если приложение приходит из фона на передний план, в то же время, если приложение получает push-уведомление, в это время я бы получил состояние как InActive. (Как это решить? –