1、在项目 target 中,打开Capabilitie —> Push Notifications,并会自动在项目中生成 .entitlement 文件。(很多同学升级后,获取不到 deviceToken,大概率是由于没开这个选项)
Capabilitie —> Push Notifications
自动生成 .entitlement
2、确保添加了 UserNotifications.framework,并 import到 AppDelegate,记得实现 UNUserNotificationCenterDelegate 。
#import <UserNotifications/UserNotifications.h> @interface AppDelegate : UIResponder <UIApplicationDelegate,UNUserNotificationCenterDelegate> @end
3、在 didFinishLaunchingWithOptions 方法中,首先实现 UNUserNotificationCenter delegate,并使用 UIUserNotificationSettings 请求权限。
//注意,关于 iOS10 系统版本的判断,可以用下面这个宏来判断。不能再用截取字符的方法。 #define SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ if(SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(@"10.0")){ UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; center.delegate = self; [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){ if( !error ){ [[UIApplication sharedApplication] registerForRemoteNotifications]; } }]; } return YES; }
4、最后实现以下两个回调。
//====================For iOS 10==================== -(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler{ NSLog(@"Userinfo %@",notification.request.content.userInfo); //功能:可设置是否在应用内弹出通知 completionHandler(UNNotificationPresentationOptionAlert); } //点击推送消息后回调 -(void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)())completionHandler{ NSLog(@"Userinfo %@",response.notification.request.content.userInfo); }
注意:需要根据系统版本号来判断是否使用新的 UserNotifications.framework,因此,不要着急删除 iOS 10 以前的代码。
总结
以上就是关于iOS10添加推送功能时的注意点和问题总结,希望这篇文章对大家开发iOS推送功能能有所帮助,如果有疑问大家可以留言交流。
本文向大家介绍iOS10全新推送功能实现代码,包括了iOS10全新推送功能实现代码的使用技巧和注意事项,需要的朋友参考一下 从iOS8.0开始推送功能的实现在不断改变,功能也在不断增加,iOS10又出来了一个推送插件的开发(见最后图),废话不多说直接上代码: 注册推送方法的改变: 新增库 #import <UserNotifications/UserNotifications.h> 推送单
本文向大家介绍C#实现百度ping推送功能的方法,包括了C#实现百度ping推送功能的方法的使用技巧和注意事项,需要的朋友参考一下 网站优化必做的事情之一,百度ping,主动推送给百度 文章添加时调用百度推送方法 common类库增加百度ping方法 以上所述是小编给大家介绍的C#实现百度ping推送功能的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢
本文向大家介绍Asp.NET MVC中使用SignalR实现推送功能,包括了Asp.NET MVC中使用SignalR实现推送功能的使用技巧和注意事项,需要的朋友参考一下 一、简介 Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架。它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请求或使用轮询技术来获取消息
问题内容: 我正在努力显示从FCM通知控制台发送到设备的推送通知。我可以看到设备正在接收通知,因为我可以看到发送“ test8”的消息 但是,无论我的应用程序位于前台还是后台都没有关系,但我不会显示通知。 我已在info.plist中添加了“必需的后台模式- 应用程序下载内容以响应推送通知”。我的证书是正确的,并且生成令牌没有问题。我的应用程序正在接收通知,但未显示它们。 我一直在尝试自己研究和解
我在我的Raspberry Pi上克隆了GitHub上的一个项目,创建了一个新的分支,并将所有内容推送到存储库中。为此,我需要下一个命令: 我遇到的问题是我无法将分支推到GitHub.com。我需要输入我的用户名和密码,但我不能使用2FA。这是Git或GitHub中的一个bug吗?是否有方法获得身份验证密钥并输入它? 我不会在GitHub上启用2fa。
我实现了具有四个函数的bst,add,inorderPrint,min和max。最小值和最大值应该返回树中的最小/最大值,并删除该节点。树允许不平衡。下面是我的节点结构、add 函数、min 函数以及 valgrind 错误的实现。 Valgrind错误如下: 第43行是