为了解决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(消息推送)”模块;
另一种是更新profile文件,操作方法如下:
确保使用的App IDs打开“Push Notifications”服务
登录苹果开发者网站,输入开发者账号、密码并登录
左侧选择“Certificates, IDs & Profiles”,打开iOS证书管理界面
左侧“Identifiers”栏下选择“App IDs”,打开应用ID管理界面
在右侧ID管理列表中选择需要使用的应用标识
点击“Edit”按钮,在打开的服务列表中选中“Push Notifications”服务,点击“Done”保存
重新生成profile文件
左侧“Provisioning Profiles”栏下选择“Distribution”,打开发布profile管理界面
在右侧profile管理表中选择需要更新的profile项
点击“Edit”按钮,打开profile编辑页面
确认配置项正确,点击“Generate”按钮重新生成profile文件
验证方法
简单验证profile文件是否配置Push功能的方法是使用记事本打开profile文件,搜索是否存在“<key>aps-environment</key>”。
如果存在则表明配置Push功能正确,重现提交云端打包即可。