文章目录

  • 一、前言
  • 二、资源
  • 三、集成
  • 四、遇到的问题及解决措施
    • 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(消息推送)”模块(HBuildermanifest.json文件“模块权限”->“模块设置”中配置),profile文件中则必需配置添加“Push Notifications”能力。

针对以上问题,有以下两种解决方案:

  1. 删除Push功能,即在HBuilder的manifest.json文件“模块权限”->“模块设置”中配置删除“Push(消息推送)”模块;如果手动修改过manifest.json文件,请切换到源码视图,将permissions下的所有push节点数据都删除。
  2. 更新profile文件,操作方法如下:

1. 确保使用的App IDs打开“Push Notifications”服务

  1. 登录苹果开发者网站,输入开发者账号、密码并登录;

  2. 左侧选择“Certificates, IDs & Profiles”,打开iOS证书管理界面;

  3. 左侧“Identifiers”栏下选择“App IDs”,打开应用ID管理界面;

  4. 在右侧ID管理列表中选择需要使用的应用标识;

  5. 点击“Edit”按钮,在打开的服务列表中选中“Push Notifications”服务,点击“Done”保存;

2. 重新生成profile文件

  1. 左侧“Provisioning Profiles”栏下选择“Distribution”,打开发布profile管理界面;

  2. 在右侧profile管理表中选择需要更新的profile项;

  3. 点击“Edit”按钮,打开profile编辑页面;

  4. 确认配置项正确,点击“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)详细教程相关推荐

  1. 跨平台应用开发进阶(八) :uni-app 实现Android原生APP-云打包集成极光推送(JG-JPUSH)详细教程

    文章目录 一.前言 二.资源 三.集成 3.1 SDK 引入 3.2 代码集成 3.3 遇到的问题及解决方案 3.3.1 包大小限制 3.3.2 [JS Framework] 当前运行的基座不包含原生 ...

  2. flutter应用开发中集成极光推送(flutter极光推送第一篇)

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 重要消息 精通点的可以查看这里 精述 Flutter 从入门实践到开发一个APP之UI基础篇 视频 flutter从入 ...

  3. php集成极光推送,thinkphp 写APP接口集成极光推送的例子

    下面我们来看一篇关于thinkphp 写APP接口集成极光推送,对于app的数据都得通过接口来实现了,当然也有内置数据库的不过这种非常少了. 最近用Thinkphp写了个App接口用到第三方推送功能, ...

  4. android 极光推送解绑,app集成极光推送笔记(angular js)

    出处:极光推送官方文档以及github上的文档 1.安装 一般使用cordova安装(其他安装方式详见文档),命令行输入: cordova plugin add jpush-phonegap-plug ...

  5. 跨平台应用开发进阶(三十八)uni-app前端监控方案:基调听云APP探究

    文章目录 一.前言 二.产品介绍 2.1 工作原理 2.1.1 Android平台工作原理 2.1.2 iOS平台工作原理 三.项目集成 3.1 Android集成 3.2 iOS集成 四.答疑解惑 ...

  6. 跨平台应用开发进阶(十二) :uni-app 实现应用桌面图标角标提示及应用跳转

    文章目录 一.前言 二.实现 2.1 集成极光实现 2.1.1 通道支持 2.1.2 iOS 角标 2.1.3 华为角标 2.1.4 小米角标 2.1.5 vivo 角标 2.2 H5+实现 三.遇到 ...

  7. wrs-jpush极光推送原生app插件

    功能 支持通知消息.自定义消息,收到消息/点击消息通知回调 别名alias.标签tag管理.角标badge.Channel配置 厂家推送.厂商通道注册结果.token回调 支持app杀死时由点击消息启 ...

  8. Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 下面是一些知识点介绍,后期将会带领大家进行代码实战: 一.Android实现推送方式解决方案: 1.推 ...

  9. 极光推送零基础极速上手开发指南,快速搭建后台推送服务

    一.基础配置 1.依赖配置 <!-- 极光推送开始 --> <dependency><groupId>cn.jpush.api</groupId>< ...

最新文章

  1. 2020,人工智能和深度学习未来的五大趋势
  2. 推荐7款超良心的windows软件,每一个都是精品!
  3. subShell与代码块
  4. 重庆邮电计算机科学分数线,2020重庆邮电大学录取分数线已公布
  5. GitHub+Vue自动化构建部署
  6. 转载:YUM常用命令介绍
  7. 12c集群日志位置_关于Oracle 12c的集群监控(CHM)
  8. MAC上使用不同版本的xcode编译
  9. 对于如何彻底的卸载和删除Windows service,有如下方法
  10. 阿铭Linux_网站维护学习笔记20190227
  11. 区块链技术及实际应用
  12. IT人的家乡,湘西最美张吉怀高铁12月6日开通运营助力区域发展迈入快车道
  13. thinkpad联想IBM笔记本为什么出现fan error
  14. 在本地电脑将ip与名字相关联
  15. FlexRay通信机制
  16. 数字图像处理第三章-----灰度变换
  17. 技术总结-技术方案模板
  18. excel部分内容有问题xml的修复
  19. 游戏美术次世代制作流程图文详解
  20. hdu 4389 X mod f(x) (数位dp||打表)

热门文章

  1. 参加AKM DSP芯片代理培训
  2. Q390GJE低合金高强度钢简介
  3. 短视频课堂丨传统工厂企业短视频打造之“三好人设”
  4. docx.opc.exceptions.PackageNotFoundError: Package not found at
  5. [C#][转载]C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
  6. 大哥要我实现天干地支的组合
  7. SQL Server 数据库中的临时表
  8. Cocos2d-x的学习之旅(七)更新函数Update
  9. CTFSHOW WEB 1-100
  10. 单片机做计算机乘法,基于单片机实现的四则运算计算器.DOC