写点什么

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

  • 2022 年 5 月 22 日
  • 本文字数:1189 字

    阅读完需:约 4 分钟

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

一、前言

在前期完成 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节点数据都删除。<br>

  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”。

<br>          如果存在则表明配置Push功能正确,重新提交云端打包即可。


提示⚠️:对于付费打包的用户,若第一次已经提示开发者证书无推送权限时,在未增加推送权限前就不要重复组自定义基座了,否则会重复扣费!


4.2 manifest 中并没有配置 push 模块。但云端打包 ios 就是一直报 Code Signing Error: Provisioning profile "***" doesn't support the Push Notifications capability.

Dcloud问题库也搜到了以上问题,但是并没有给出合理的解决方案。

五、拓展阅读

发布于: 刚刚阅读数: 4
用户头像

No Silver Bullet 2021.07.09 加入

岂曰无衣 与子同袍

评论

发布
暂无评论
跨平台应用开发进阶(十一) :uni-app 实现IOS原生APP-云打包集成极光推送(JG-JPUSH)详细教程_uni-app_No Silver Bullet_InfoQ写作社区