之前做了Android 的消息推送并能正常显示notification,点击后也能触发页面跳转或者其他业务。但ios这边模拟器不支持消息推送,只能选择真机调试。对于ios真机调试的方法和配置,这里就不再多做赘述,网上教程一大堆,主要保证开发者账号和Develope证书以及Provisioning Profile(我是这么理解的),也可以看我的另一篇文章IOS真机调试 - 简书。
1、 把ios设备连接到电脑上后,运行(前边的步骤就省略了,一般就是项目和壳子的根目录中执行运行命令)
(直接运行react-native run-ios命令,总是会跳出iOS模拟器,不知道是不是我配置的问题)
react-native run-ios --device
报错如下:
解决方案:右键项目下的Libraies文件,选择“Add Files to xxx”
选择node_modules/react-native/Libraries/PushNotificationIOS/RCTPushNotification.xcodeproj文件(我已经加入了,所以截图中该文件显示灰色)
再然后,在xcode中把libRCTPushNotification.a文件添加到Link Binary With Libraries中(通过该选项中的左下角的+号,来添加,点击后会出现以下弹窗(注释:选择.a文件),进行选择即可),添加完成后,如下图所示
重新运行,程序可正常显示页面。
2、登录进入苹果开发者平台Apple Developer,选择Certificates,Identifiers & Profiles点击进入
选择Identifiers,选择创建的应用id,点击进入,
选中Push Notifications,并根据后边的提示生成推送证书(这个步骤就不多做赘述了)
把生成的推送证书下载下来,双击引入到钥匙串访问中,
右键该证书,选择导出为.P12文件,设置证书密码。
3、登录个推开发者平台,选择“个推-消息推送”
点击所创建的应用最右边的“应用配置”,
根据最底部“应用平台”的提示,把第2步中生成的.P12文件集成到项目中,成功后如图
4、进入Xcode中,进行证书配置的更新和重新编译,
通过终端cd到taro壳子目录下的ios文件夹下,执行pod install 命令,返回壳子根目录,执行运行命令(react-native run-is --device),查看运行结果,运行成功。