У меня есть встроенные push-уведомления для моего приложения. Чтобы поймать уведомления, я использовал этот делегат.Ошибка приложения при запуске с уведомлением push
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
в моем делете приложения.
Итак, когда приложение работает в фоновом режиме, если получено уведомление, и когда я нажимаю на него, этот делегат запускается. Если приложение не работает даже в фоновом режиме, если нажал на ntification то выстреливает
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Софара он работал хорошо. Затем я хотел получить уведомление в фоновом режиме. Так что я нашел
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
это работает для него.
Так что я только что изменил свой предыдущий метод didReceive
в этот новый метод didReceive
. Теперь моя проблема заключается в том, когда приложение запускается с push-уведомлением (если приложение не работает в фоновом режиме или под землей и при нажатии на уведомление, когда оно приходит), мое приложение выходит из строя. Даже я не могу отлаживать и улавливать эту ситуацию.
В чем разница между этими двумя делегатами. Мой второй делегат запускается при запуске приложения с уведомлением? Пожалуйста, помогите мне.
проверьте, что у вас есть полезная нагрузка правильно serilize или нет –
У меня есть несколько типов уведомлений. Если тип уведомления равен 12, мне нужно сделать что-то в фоновом режиме. Поэтому я добавил 'содержательное строение ключа $ тела [' АПС] = массив ( \t 'тревога' => $ сообщения, \t 'звук' => 'по умолчанию', \t 'знак' => 1, \t 'content-available' => 1 \t); Если мой тип уведомления - 12 доступных для контента, станет 1 во всех других случаях 0 – user1960169
. Посмотрите на это ans, может быть полезно http://stackoverflow.com/a/20851481/3743322 – Alexi