在Xcode 9中,iOS应用程序授权'com.apple.developer.payment-pass-provisioning'未包含在构建中。

10

我正在开发一款App,允许用户通过该App在钱包中配置支付通行证。为了实现这一点,您必须请求苹果添加以下授权。

com.apple.developer.payment-pass-provisioning 

将此权利委托给您的开发团队,以便您可以创建具有此权利的配置文件。在XCode 8.2中,这个功能正常工作。将带有此权利的配置文件的存档上传到应用商店会在应用程序中包含该权利。在单击最终上传按钮之前,您可以在摘要窗口中验证该权利是否存在。然而,在XCode 9、9.1和9.2中,该权利不会出现在摘要中,并且已上传的应用程序中也没有该权利。是否有其他人遇到了这个问题并找到了解决方案,或者这只是XCode 9的一个bug?

我在我的应用程序中也使用了“com.apple.developer.payment-pass-provisioning”这些权限,苹果已经授予了我们团队ID的这个权限,并修改了我们的配置文件以启用此权限。但是我仍然遇到了以下错误:ApplePayDemo[1080:612489] com.test.mib缺少entitlement:com.apple.developer.payment-pass-provisioning - S P Balu Kommuri
嗨,Balu。请看下面的答案。你需要将其添加为授权。我会提供一个合适的回答。 - Bergasms
1个回答

10

对于遇到此问题的人。在XCode 8中,许可证会“神奇地”添加到许可证文件中。在9中,您需要将其自己设置为布尔值添加到许可证文件字典中。

因此,例如,在您的.entitlements文件中,将以下内容添加到许可证文件字典中。

Key: com.apple.developer.payment-pass-provisioning   
Type: Boolean
Value: Yes 

或者在XML视图中

<key>com.apple.developer.payment-pass-provisioning</key>
<true/>

是的,有了那个权限,您应该能够按照苹果提供的示例启动钱包。如果您想将其提交到应用商店,您将需要与苹果联系。 - Bergasms
我遇到了一个错误,提示我的配置文件不包含 com.apple.developer.payment-pass-provisioning。我已经在权限文件中手动添加了它,但我不知道如何将其包含在配置文件中。或者我是否可以向苹果申请权限来解决这个问题。 - vijju
是的,为了将该权限添加到您的配置文件中,您需要发送电子邮件给苹果公司。文档上有一个地址,您可以通过该地址发送电子邮件讨论如何添加它。您需要指定包标识符、团队标识符等信息。一旦您为应用程序ID添加了该功能,在创建配置文件时您将拥有以下选项。 https://imgur.com/e95ksve - Bergasms
嗨@MahendraThotakura,很抱歉我不确定我能帮上忙。如果你的通信是双向的(例如到服务器然后到苹果),那么很可能是服务器端的问题。 - Bergasms
感谢@Bergasms的回复,我们已经成功解决了问题。问题出在Empherial、ActivationData和EncryptedPassData的加密上。我们的服务器团队使用十六进制加密方式发送它们。但我尝试了Base64和UTF8的加密方式。 - Mahendra Thotakura
显示剩余9条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接