如何在 MyApp.entitlements 中设置 com.apple.developer.associated-domains 的值?

Posted

技术标签:

【中文标题】如何在 MyApp.entitlements 中设置 com.apple.developer.associated-domains 的值?【英文标题】:how to setup the value for com.apple.developer.associated-domains in MyApp.entitlements? 【发布时间】:2019-07-03 12:04:38 【问题描述】:

当我尝试将我的应用(使用 delphi Rio 制作)上传到 appStore 时,我收到以下错误消息:

错误 ITMS-90046:“无效的代码签名权利。您的应用程序 捆绑包的签名包含不属于的代码签名权利 在 ios 上支持。具体来说,键的值“*” 'Payload/myapp.app/myapp' 中的 'com.apple.developer.associated-domains' 不支持。”

然后我查看 Delphi 生成的 myApp.entitlements,我有:

<key>com.apple.developer.associated-domains</key>
<string>*</string>

但问题是我看不到在哪里可以更改此值?是接缝,是“*”造成了问题,但看不到我可以在哪里改变它

【问题讨论】:

我的 iOS 应用程序根本没有生成那个。请提供minimal reproducible example @DaveNottage 很奇怪你在我的项目中根本没有我提到过 com.apple.developer.associated-domains !我还不明白 delphi 如何决定在我的项目中添加它(仅在我的项目中) @DaveNottage :正是这个值在 Entitlement.TemplateiOS.xml 中用 com.apple.developer.associated-domains: 填充 【参考方案1】:

原答案:

您的 App ID 中似乎已选择了“关联域”选项(即在 Apple 开发者网站上),但 Apple 正因此拒绝您的应用 - 很奇怪。如果它不受支持,您会认为他们会禁用该选项。

您需要编辑应用 ID 以取消选择该选项、重新生成您的配置文件、重新构建并重新提交您的应用。

在您这样做之前,您可能需要检查 App ID 中的其他选项,以防有其他选项被拒绝。你真的应该只选择你的应用需要的那些。

编辑:

上面的答案并不完全正确 - 这是 App Store 抱怨的“*”值。根据此链接:

https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains?language=objc

正如您现在所发现的,必须单独添加域。显然,Delphi 目前不提供这种能力,但应该

【讨论】:

谢谢戴夫!!问题是我需要关联域来处理通用链接:(但我看不到在delphi中我可以在哪里配置 com.apple.developer.associated-domains 的值 非常好。看来您可能必须拥有自己的权利文件副本并手动修改它。此链接可能会有所帮助:blog.branch.io/…。您可以在 Xcode 中的测试应用程序中执行此操作,然后查看生成的权利是什么样的 如果你能解决,请告诉我,我会在 QP 中提交报告 我可以做一个自定义的权利文件,是的,它的工作。问题是权利文件需要将值 get-task-allow 设置为 false 用于应用商店(即启动调试器)并设置为 true 用于调试,我们无法在 delphi 中设置用于调试的权利路径和用于发布的不同路径:(

以上是关于如何在 MyApp.entitlements 中设置 com.apple.developer.associated-domains 的值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Netbeans 中设置环境变量?

如何在 Android 中设置 libsvm?

如何在 Laravel 中设置全局变量?

如何在代码中设置绑定?

如何在协议扩展中设置委托

如何在预览中设置环境对象