跨平台应用开发进阶 (十一) :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(消息推送)”模块(HBuilder
的manifest.json
文件“模块权限”->“模块设置”
中配置),profile
文件中则必需配置添加“Push Notifications
”能力。
针对以上问题,有以下两种解决方案:
删除 Push 功能,即在 HBuilder 的
manifest.json
文件“模块权限”->“模块设置”
中配置删除“Push(消息推送)”
模块;如果手动修改过manifest.json
文件,请切换到源码视图,将permissions
下的所有push
节点数据都删除。<br>更新
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
”。<br> 如果存在则表明配置
Push
功能正确,重新提交云端打包即可。
提示⚠️:对于付费打包的用户,若第一次已经提示开发者证书无推送权限时,在未增加推送权限前就不要重复组自定义基座了,否则会重复扣费!
4.2 manifest 中并没有配置 push 模块。但云端打包 ios 就是一直报 Code Signing Error: Provisioning profile "***" doesn't support the Push Notifications capability.
在Dcloud问题库也搜到了以上问题,但是并没有给出合理的解决方案。
五、拓展阅读
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/32c74671bf015ea6a1603584d】。文章转载请联系作者。
评论