集成Apple Pay遇com.apple.developer.payment-pass-provisioning缺失错误求助
解决
com.apple.developer.payment-pass-provisioning权限缺失报错的排查步骤及示例 1. 开发者后台配置校验
- 登录Apple Developer后台,进入「Certificates, Identifiers & Profiles」页面,打开当前项目对应的App ID详情页
- 确认Payment Pass Provisioning权限已处于启用状态,无待提交的配置修改
- 若确认权限已开启,重新生成当前项目对应的Development/Ad Hoc/Release类型的Provisioning Profile,下载到本地备用
2. 本地Xcode配置校验
- 清空本地缓存的旧配置文件:
- 打开Xcode > Settings > Accounts,选中对应的开发者账号,点击右下角
Download Manual Profiles手动拉取最新配置 - 退出Xcode,打开路径
~/Library/MobileDevice/Provisioning Profiles,删除该目录下所有旧的配置文件,重新打开Xcode
- 打开Xcode > Settings > Accounts,选中对应的开发者账号,点击右下角
- 检查项目entitlements文件配置:
- 确认项目根目录下的
.entitlements文件中已添加对应权限:
<key>com.apple.developer.payment-pass-provisioning</key> <true/>- 打开Xcode的「Signing & Capabilities」标签页,确认该权限已正常显示,无红色告警标识
- 确认项目根目录下的
- 校验Provisioning Profile有效性:
- 右键下载的Provisioning Profile文件,用文本编辑器打开,搜索
com.apple.developer.payment-pass-provisioning字段,确认该字段存在且值为true - 若字段不存在,说明后台权限配置未同步,需要回到开发者后台重新生成配置文件
- 右键下载的Provisioning Profile文件,用文本编辑器打开,搜索
3. 常见遗漏场景排查
- 区分权限用途:
com.apple.developer.in-app-payments是普通Apple Pay支付功能的权限,com.apple.developer.payment-pass-provisioning是向系统钱包添加支付卡/交通卡的专属权限,两者不可混用 - 测试阶段必须使用对应类型的配置文件:本地调试用Development类型配置,TestFlight测试用Ad Hoc/App Store类型配置,禁止混用不同类型的配置文件
内容的提问来源于stack exchange,提问作者Arun
相关产品推荐
相关产品推荐

