跨平台应用开发进阶(十一) :uni-app 实现IOS原生APP-云打包集成极光推送(JG-JPUSH)详细教程
文章目录
- 一、前言
- 二、资源
- 三、集成
- 四、遇到的问题及解决措施
- 4.1 IOS开发者证书无推送权限
- 4.2 manifest中并没有配置push模块。但云端打包ios就是一直报Code Signing Error: Provisioning profile "***" doesn't support the Push Notifications capability.
- 4.3 App云端打包时,ios报profile文件与私钥证书文件不匹配
- 4.4 证书不受信任
- 4.5 极光控制台推送信息失败
- 五、iOS证书的类型和作用
- 5.1 iOS证书的类型和作用
- 5.2 iOS证书的构成和有效性
- 5.3 iOS证书可以删除吗,到期怎么更新
- 六、思路拓展
- 七、拓展阅读
一、前言
在前期完成 uni-app
实现 Android
原生APP-云打包集成极光推送(JG-JPUSH)操作后,接下来需要 uni-app
实现 IOS
原生APP-云打包集成极光推送(JG-JPUSH)。其操作步骤与Android端相差不多,实现细节略有不同。
二、资源
资源部分SDK
依赖与Android
相同。
需要额外新增的步骤是:生成IOS自定义基座需要IOS开发者证书,需要提前准备好。
三、集成
集成操作与Android
相同,这里不再赘述。
四、遇到的问题及解决措施
4.1 IOS开发者证书无推送权限
在制作IOS
自定义基座时,提示如下错误信息:
此错误的原因是在新版本XCode
编译环境中会校验profile
文件中是否配置使用Push功能。
如果应用中添加了“Push(消息推送)”模块(HBuilder
的manifest.json
文件“模块权限”->“模块设置”
中配置),profile
文件中则必需配置添加“Push Notifications
”能力。
针对以上问题,有以下两种解决方案:
- 删除Push功能,即在HBuilder的
manifest.json
文件“模块权限”->“模块设置”
中配置删除“Push(消息推送)”
模块;如果手动修改过manifest.json
文件,请切换到源码视图,将permissions
下的所有push
节点数据都删除。- 更新
profile
文件,操作方法如下:1. 确保使用的
App IDs
打开“Push Notifications
”服务
登录苹果开发者网站,输入开发者账号、密码并登录;
左侧选择“
Certificates, IDs & Profiles
”,打开iOS证书管理界面;左侧“
Identifiers
”栏下选择“App IDs
”,打开应用ID管理界面;在右侧ID管理列表中选择需要使用的应用标识;
点击“Edit”按钮,在打开的服务列表中选中“
Push Notifications
”服务,点击“Done”保存;2. 重新生成
profile
文件
左侧“
Provisioning Profiles
”栏下选择“Distribution
”,打开发布profile
管理界面;在右侧
profile
管理表中选择需要更新的profile项;点击“Edit”按钮,打开
profile
编辑页面;确认配置项正确,点击“Generate”按钮重新生成profile文件;
3. 验证方法 简单验证
profile
文件是否配置Push
功能的方法是使用记事本打开profile
文件,搜索是否存在“aps-environment
”。如果存在则表明配置
Push
功能正确,重新提交云端打包即可。
提示⚠️:对于付费打包的用户,若第一次已经提示开发者证书无推送权限时,在未增加推送权限前就不要重复组自定义基座了,否则会重复扣费!
4.2 manifest中并没有配置push模块。但云端打包ios就是一直报Code Signing Error: Provisioning profile “***” doesn’t support the Push Notifications capability.
在Dcloud问题库也搜到了以上问题,但是并没有给出合理的解决方案。
4.3 App云端打包时,ios报profile文件与私钥证书文件不匹配
解决方案:尝试重新生成。
4.4 证书不受信任
集成推送服务后,提示证书不受信任:
经查阅资料,发现生成的SSL证书是2022年1月27日之后更新的,之前安装的Worldwide Developer Relations G3过期了,故需要安装G4证书。
下载地址:点击下载
下载Worldwide Developer Relations - G4 (Expiring 12/10/2030 00:00:00 UTC)
然后,双击添加到“钥匙串访问”,证书就正常了。
4.5 极光控制台推送信息失败
极光控制台在推送时,显示推送失败,失败原因为:token获取失败。
解决措施:需要在manifest.json
配置文件-APP模块配置处,勾选Push(消息推送)
配置,但是切记不勾选下方的任一二级菜单!
注意⚠️:此处使用的HBuilder版本为3.6.4.20220922
,使用其他版本可能会导致配置后依然无法获取到推送信息(可能是HBuilder版本问题,目前官方未给出回复)。
五、iOS证书的类型和作用
5.1 iOS证书的类型和作用
iOS证书主要分为四类:
- iOS开发证书
- iOS发布证书
- iOS推送证书
- iOS企业证书
1、iOS开发证书
iOS开发证书是用于测试APP,在开发过程中安装到苹果手机真机测试APP的运行情况。
2、iOS发布证书
当APP开发测试好后上线就需要用到iOS发布证书,用iOS发布证书打包的ipa才能上传到App Store审核。
3、iOS推送证书
iOS推送证书是用于推送通知的,平时我们在手机的系统栏下拉看到的那些消息就是推送通知,如果要做这个功能就需要配置推送证书。
4、iOS企业证书
iOS企业证书需要企业开发者账号才能申请,用于无法上架App Store的苹果APP打包签名使用。
常用的就是以上这4种iOS证书,当你需要什么功能的时候就知道用哪个类型的iOS证书。
5.2 iOS证书的构成和有效性
iOS证书由两个文件构成。.p12
文件和.mobileprovision
文件
.p12
文件相当于公钥,.mobileprovision
文件相当于私钥。
开发证书.p12
文件苹果规定只能申请2个,发布证书.p12
文件只能申请3个!iOS证书配置.mobileprovision
文件是没有任何数量限制的!
.p12
可以共用,一个p12可以对应无数个.mobileprovision
文件!所以就算.p12
申请一个也够用了,可以对应创建无数套iOS证书!
所以对于证书数量的担忧是没有意义的!不会限制你上架多少个APP!
ios证书的有效期是一年,在我们软件的和开发者后台都能看到到期时间。
5.3 iOS证书可以删除吗,到期怎么更新
iOS证书是可以随意删除的(不管有没有到期),不会影响已经上架的APP。
如果你还在测试APP。删除了测试用的开发证书,APP将打不开,当然这个也没什么关系,测试APP是要不停打包的,重新申请证书打包重新安装就可以了。
iOS证书到期了需不需要重新申请呢,具体看需要,如果你要更新已经上架的APP,更新版本,删除到期的证书重新申请打包上传更新。
如果不更新APP,到期了不管他也没什么关系,不会影响上架了的APP。
六、思路拓展
以上只是实现了极光控制台手动推送,当用户任务某一节点完成时,需要做到主动推送消息,就涉及到主动调用推送API,API应用可参考API说明。
七、拓展阅读
极光推送官方SDK
极光JCore官方SDK
极光官网平台
极光官方demo
《跨平台应用开发进阶(八) :uni-app 实现Android原生APP-云打包集成极光推送(JG-JPUSH)详细教程》
《跨平台应用开发进阶(九) :uni-app 实现Android原生APP-本地打包集成极光推送(JG-JPUSH)详细教程》
跨平台应用开发进阶(十一) :uni-app 实现IOS原生APP-云打包集成极光推送(JG-JPUSH)详细教程相关推荐
- 跨平台应用开发进阶(八) :uni-app 实现Android原生APP-云打包集成极光推送(JG-JPUSH)详细教程
文章目录 一.前言 二.资源 三.集成 3.1 SDK 引入 3.2 代码集成 3.3 遇到的问题及解决方案 3.3.1 包大小限制 3.3.2 [JS Framework] 当前运行的基座不包含原生 ...
- flutter应用开发中集成极光推送(flutter极光推送第一篇)
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 精通点的可以查看这里 精述 Flutter 从入门实践到开发一个APP之UI基础篇 视频 flutter从入 ...
- php集成极光推送,thinkphp 写APP接口集成极光推送的例子
下面我们来看一篇关于thinkphp 写APP接口集成极光推送,对于app的数据都得通过接口来实现了,当然也有内置数据库的不过这种非常少了. 最近用Thinkphp写了个App接口用到第三方推送功能, ...
- android 极光推送解绑,app集成极光推送笔记(angular js)
出处:极光推送官方文档以及github上的文档 1.安装 一般使用cordova安装(其他安装方式详见文档),命令行输入: cordova plugin add jpush-phonegap-plug ...
- 跨平台应用开发进阶(三十八)uni-app前端监控方案:基调听云APP探究
文章目录 一.前言 二.产品介绍 2.1 工作原理 2.1.1 Android平台工作原理 2.1.2 iOS平台工作原理 三.项目集成 3.1 Android集成 3.2 iOS集成 四.答疑解惑 ...
- 跨平台应用开发进阶(十二) :uni-app 实现应用桌面图标角标提示及应用跳转
文章目录 一.前言 二.实现 2.1 集成极光实现 2.1.1 通道支持 2.1.2 iOS 角标 2.1.3 华为角标 2.1.4 小米角标 2.1.5 vivo 角标 2.2 H5+实现 三.遇到 ...
- wrs-jpush极光推送原生app插件
功能 支持通知消息.自定义消息,收到消息/点击消息通知回调 别名alias.标签tag管理.角标badge.Channel配置 厂家推送.厂商通道注册结果.token回调 支持app杀死时由点击消息启 ...
- Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 下面是一些知识点介绍,后期将会带领大家进行代码实战: 一.Android实现推送方式解决方案: 1.推 ...
- 极光推送零基础极速上手开发指南,快速搭建后台推送服务
一.基础配置 1.依赖配置 <!-- 极光推送开始 --> <dependency><groupId>cn.jpush.api</groupId>< ...
最新文章
- 2020,人工智能和深度学习未来的五大趋势
- 推荐7款超良心的windows软件,每一个都是精品!
- subShell与代码块
- 重庆邮电计算机科学分数线,2020重庆邮电大学录取分数线已公布
- GitHub+Vue自动化构建部署
- 转载:YUM常用命令介绍
- 12c集群日志位置_关于Oracle 12c的集群监控(CHM)
- MAC上使用不同版本的xcode编译
- 对于如何彻底的卸载和删除Windows service,有如下方法
- 阿铭Linux_网站维护学习笔记20190227
- 区块链技术及实际应用
- IT人的家乡,湘西最美张吉怀高铁12月6日开通运营助力区域发展迈入快车道
- thinkpad联想IBM笔记本为什么出现fan error
- 在本地电脑将ip与名字相关联
- FlexRay通信机制
- 数字图像处理第三章-----灰度变换
- 技术总结-技术方案模板
- excel部分内容有问题xml的修复
- 游戏美术次世代制作流程图文详解
- hdu 4389 X mod f(x) (数位dp||打表)
热门文章
- 参加AKM DSP芯片代理培训
- Q390GJE低合金高强度钢简介
- 短视频课堂丨传统工厂企业短视频打造之“三好人设”
- docx.opc.exceptions.PackageNotFoundError: Package not found at
- [C#][转载]C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
- 大哥要我实现天干地支的组合
- SQL Server 数据库中的临时表
- Cocos2d-x的学习之旅(七)更新函数Update
- CTFSHOW WEB 1-100
- 单片机做计算机乘法,基于单片机实现的四则运算计算器.DOC