我的app在后台运行时,收到远程推送,通知栏已经有提醒了,这时候如果我点击app 的icon 运行程序,didReceiveRemoteNotification方法并不执行。请问这个怎么解决?如果我是点击通知栏上的推送,didReceiveRemoteNotification是执行的。
ringa_lee
那個 工程配置試試Capabilities BackgroundModes -> ON 選擇RemoteNotification
這是正常的情況,這個函數本來就是點擊通知後才會觸發的
假如你的應用程式為啟動 點擊應用程式圖示啟動 會在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions NS_AVAILABLE_IOS(3_0);
中通過Key值如下
NSDictionary *pushInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
可以獲取到通知內容,假如應用在後台,點擊應用圖標是不會調用其他關於通知的代理方法,除非點橫幅,這樣並沒有什麼不合理,很多應用也都是這樣處理的,應用在前台,收到推播,才會走你說的那個方法,另外假如你實現了
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
那麼就會在這個方法中呼叫,你說的那個方法就會廢掉了.
那個 工程配置試試
Capabilities BackgroundModes -> ON 選擇RemoteNotification
這是正常的情況,這個函數本來就是點擊通知後才會觸發的
假如你的應用程式為啟動 點擊應用程式圖示啟動 會在
中通過Key值如下
可以獲取到通知內容,
假如應用在後台,點擊應用圖標是不會調用其他關於通知的代理方法,除非點橫幅,這樣並沒有什麼不合理,很多應用也都是這樣處理的,
應用在前台,收到推播,才會走你說的那個方法,另外假如你實現了
那麼就會在這個方法中呼叫,你說的那個方法就會廢掉了.