react native的本地通知 PushNotificationIOS配置修改以及react-native-push-notification的使用

项目需要一个本地推送功能,相当于一个闹钟,定一个时间,然后每天固定时间提醒你做某件事情。

首先,安卓已经由我的同事安卓大神搞定了,我需要做的是把ios这边搞定。终于,我查到react native有PushNotificationIOS这个组件来实现此ios端的功能,但关于这个组件的使用少之又少,网上根本找不到几篇有用的例子和文档,唯一有实例的就是中文网了:http://reactnative.cn/docs/0.48/pushnotificationios.html#content这个是中文网文档的网址,但使用之前请知道三件事情:

1.这个是只针对ios的组件,很早就出了。

2.中文网已经一年多没更新过了。

3.中文网的东西不一定是对的。(我以前吃过亏:PermissionsAndroid这个名字都能写反)

刚好PushNotificationIOS这个组件把这三样占全了,很早的方法,ios通知在ios10.0之后已经改了方法,中文网的例子也直接报错。没办法,开始自己填坑:

首先环境配置,照着中文网来配置,发现直接闪退,没办法找人教我如何打断点。打完断点发现不会闪退了,但方法却没反应。这个组件的教程在网上根本找不到几个,而且实现的代码,就只有中文网那一篇还是错的。偶然之间想起了极光推送,于是照着中文网的环境配置和极光推送的配置对比,发现简直一模一样啊,之后顺藤摸瓜找到这篇,极光推送环境配置的修改:http://www.jianshu.com/p/81581f7ebb9e 这篇文章发现是因为ios10以上的问题,之后找到了这篇博客:http://blog.csdn.net/sinat_17775997/article/details/74420910 照着这个来配置(不知道为什么这位博主的文章百度不容易搜到,在谷歌很快搜到了),解决环境问题。

这样不用打断点也可以正常使用了,但能监测到通知,却不会弹出通知,这就没办法用了。没办法只再好谷歌一下,在翻了三四页之后发现这个组件 react-native-push-notification 里面有这句话:

react native的本地通知 PushNotificationIOS配置修改以及react-native-push-notification的使用_第1张图片

它用的是PushNotificationIOS作为iOS部分,突然看到了希望,它封装的是这个组件,那我把它集成进去应该可以用吧?

而且它指向的是官方文档,我已经自己找到了方法来修改官方文档的错误,我只要使用这个三方组件的方法调用就可以成功了吧?

集成之后,完美,它支持自己的通知样式定制,通知时间,一键取消所有通知,简直不能再好。

这个是组件的地址:https://github.com/zo0r/react-native-push-notification

这个功能实现简直跟RPG剧情差不多,跌宕起伏,不过最后还是实现了这个功能。

这个功能对于原生开发者是很简单的问题,但对于原生小白的我来讲确是束手无策的东西。抱歉,标题写这么长就是为了让各位跟我一样的react-native的开发者能快速搜到这篇文章,少走一点弯路。

如果我的文章能帮到您,请点击一下关注,我会持续更新我在react-native开发中踩过的坑。

你可能感兴趣的:(react native的本地通知 PushNotificationIOS配置修改以及react-native-push-notification的使用)