DCloud_App_Array
DCloud_App_Array
  • 发布:2016-12-23 17:50
  • 更新:2024-02-04 23:14
  • 阅读:44716

iOS打包“doesn't support the Push Notifications capability”错误解决方法

分类:HTML5+

为了解决iOS10平台兼容性问题,云端打包环境更新为(XCode8+iOS10 SDK)。
导致提交云端打包可能提示以下错误:

...  
Check dependencies  
Provisioning profile "XXXXXX" doesn't support the Push Notifications capability.  
Provisioning profile "XXXXXX" doesn't include the aps-environment entitlement.  
Code signing is required for product type 'Application' in SDK 'iOS 10.0'  
...

此错误的原因是在新版本XCode编译环境中会校验profile文件中是否配置使用Push功能。
如果应用中添加了“Push(消息推送)”模块(HBuilder的manifest.json文件“模块权限”->“模块设置”中配置),profile文件中则必需配置添加“Push Notifications”能力。

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

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

  1. 登录苹果开发者网站,输入开发者账号、密码并登录
  2. 左侧选择“Certificates, IDs & Profiles”,打开iOS证书管理界面
  3. 左侧“Identifiers”栏下选择“App IDs”,打开应用ID管理界面
  4. 在右侧ID管理列表中选择需要使用的应用标识
  5. 点击“Edit”按钮,在打开的服务列表中选中“Push Notifications”服务,点击“Done”保存

重新生成profile文件

  1. 左侧“Provisioning Profiles”栏下选择“Distribution”,打开发布profile管理界面
  2. 在右侧profile管理表中选择需要更新的profile项
  3. 点击“Edit”按钮,打开profile编辑页面
  4. 确认配置项正确,点击“Generate”按钮重新生成profile文件

验证方法
简单验证profile文件是否配置Push功能的方法是使用记事本打开profile文件,搜索是否存在“<key>aps-environment</key>”。
如果存在则表明配置Push功能正确,重新提交云端打包即可。

5 关注 分享
Trust web前端开发 s***@qq.com 1***@163.com 打雷

要回复文章请先登录注册

小帅船长

小帅船长

回复 s***@163.com :
解决了吗,我重新打包还是出现这个问题,好难搞,所有方法都试过了
2024-02-04 23:14
s***@163.com

s***@163.com

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

Xcode本地离线打包成功,但是功能有问题。这到底是Unicloud云端服务有问题,还是项目配置有问题?
2022-05-09 13:59
2***@qq.com

2***@qq.com

回复 DCloud_App_Array :
h5,没有用uni
2022-03-28 11:46
DCloud_App_Array

DCloud_App_Array (作者)

回复 2***@qq.com :
云端打包勾选了什么模块?有没有使用uni原生插件?
2022-03-28 11:22
2***@qq.com

2***@qq.com

苹果开发者中心那边没有开通推送,提交云打包也没有勾选推送,manifest.json中也配置了"pushRegisterMode" : "manual",但是打出来的包还是会提示通知授权框,这是怎么回事。
2022-03-28 10:30
小皇帝

小皇帝

我吧push模块关系了还是出现这个报错啊 是什么原因引起的
2021-09-14 09:33
禾禾禾禾

禾禾禾禾

回复 禾禾禾禾 :
profile文件和manifest都把推送勾选上就不会有这个邮件了
2019-12-31 17:47
禾禾禾禾

禾禾禾禾

1、如果在证书中勾选了Push Notification后,在提交云打包的时候也一定要在manifest.json文件中把push勾选上,不然还是会收到这个邮件
2、就算自己的app实际根本没有用到push功能,并且也删的一干二净了,但是还是会收到这个邮件,那还是最好勾选证书的推送,勾选manifest.json文件中的push。总之一句话,只要出现这个邮件,就把两个都勾选上,不管你用没用推送。这样至少不会收到这个邮件。
2019-12-31 17:46
8***@qq.com

8***@qq.com

hi,是不是官方没有人管了。。。
一开始说我没有推送权限,我在苹果那边配置了,就一直说我是p12密码不对。哎
求解决
2019-10-18 11:31
on_the_way

on_the_way

回复 typer :
怎么解决的
2019-08-08 15:15