DCloud_App_Array
DCloud_App_Array
  • 发布:2016-12-23 17:50
  • 更新:2024-06-20 17:53
  • 阅读:45581

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文件,搜索是否存在“aps-environment”。
如果存在则表明配置Push功能正确,重新提交云端打包即可。

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

要回复文章请先登录注册

DCloud_App_Array

DCloud_App_Array (作者)

回复 9***@qq.com :
不影响
2019-04-18 17:02
9***@qq.com

9***@qq.com

回复 DCloud_App_Array :
请问重新生成profile文件原来已经打包过的安装包会受影响吗?
2019-04-18 15:23
bishuihanshan

bishuihanshan

记录一下备用,正在准备推送相关的
2019-03-28 17:19
typer

typer

我也遇到了,manifest中并没有配置push模块。但云端打包ios就是一直报Code Signing Error: Provisioning profile \"weimihongbao\" doesn't support the Push Notifications capability.。appid:cn.zuan8000.mall
2018-06-12 20:49
DCloud_App_Array

DCloud_App_Array (作者)

回复 z***@163.com :
请提供下appid,我们查下后台打包日志
2018-03-15 19:34
z***@163.com

z***@163.com

回复 DCloud_App_Array :
再重新描述一下我的打包现象:我们的IOS项目中的manifest.json配置文件并没有配置push推送的权限,系统中也没有开发模块涉及到推送功能,去年年底前最后一次打包还可以,现在打包IOS版本一致都是提示上面问题这个错误,这种情况也需要重新生成profile文件么?打包时,我也想往常一样,没有修改其他配置文件,打扰了,再次求指教?
2018-03-15 17:18
DCloud_App_Array

DCloud_App_Array (作者)

回复 z***@163.com :
证书可不重新生成,但需要在苹果开发者网站上修改配置重新生成profile文件。
2018-03-14 19:02
z***@163.com

z***@163.com

回复 web前端开发 :
你怎么解决这个问题的,求指教
2018-03-14 18:06
z***@163.com

z***@163.com

回复 DCloud_App_Array :
我也是报这错误,我们的证书没有重新生成,请问有没有解决此问题的方法,或是建议
2018-03-14 17:52
H5上传

H5上传

回复 l***@163.com :
记得好像要发到个推上生成对证书进行配置
2017-05-09 11:16