我的app在后台运行时,收到远程推送,通知栏已经有提醒了,这时候如果我点击app 的icon 运行程序,didReceiveRemoteNotification方法并不执行。请问这个怎么解决?
如果我是点击通知栏上的推送,didReceiveRemoteNotification是执行的。
我的app在后台运行时,收到远程推送,通知栏已经有提醒了,这时候如果我点击app 的icon 运行程序,didReceiveRemoteNotification方法并不执行。请问这个怎么解决?
如果我是点击通知栏上的推送,didReceiveRemoteNotification是执行的。
假如你的应用为启动 点击应用图标启动 会在
- (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;
那么就会在这个方法中调用,你说的那个方法就会废掉了.
2 回答1.1k 阅读
1 回答1.2k 阅读✓ 已解决
1 回答2.8k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答959 阅读
1 回答796 阅读
那个 工程配置试试
Capabilities BackgroundModes -> ON 选择RemoteNotification