当我第一次构建我的应用程序时Watchkit应用程序,我有" Associated Domains"功能已启用。我已经在"功能"中禁用了它。 watchkit扩展和配套应用程序的面板,并确认密钥已从每个info.plist中删除。
我去了苹果' "证书,标识符和配置文件"页面,为每个Watchkit应用程序,扩展程序和应用程序选择应用程序ID,未选中"关联域名",为每个应用程序ID重新生成配置文件,下载并安装它们。
我已完成Ctrl-Shift-Command-K完全清理,重启和重建。在对appstore进行总结时,我收到以下错误消息。
我在xcode中进行了项目搜索,找不到com.apple.developer.associated-domains键。我已经搜索了构建目录,nada。我不相信这个密钥实际存在于我的代码中,然而iTunesConnect似乎认为它存在并且设置为' *'。
答案 0 :(得分:23)
解决此问题:
您必须重新生成与App ID关联的任何配置文件。出于某种原因,我的应用程序检查了“Associated Domains”。 取消选择它使AppStore提交工作。
答案 1 :(得分:7)
我认为这是一个错误。
我通过简单地在随附应用程序和Watchkit扩展的Entitlements.plist中插入一个新的Array项来管理解决方法:“com.developer.apple.associated-domains”和webcredentials:string的有效域。虽然这没有实际效果,因为我的配置文件和应用程序或扩展程序的功能选项卡都没有为关联域启用,但它停止了itunesconnect上的任何代码扫描程序绊倒了不存在的键的“*”无效值。
答案 2 :(得分:4)
如果您想使用关联域,请确保Entitlements.plist > com.developer.apple.associated-domains
中的每个条目都使用以下格式:
<service>:<fully qualified domain>[:port number]
例如
webcredentials:www.example.com
applinks:www.example.com
activitycontinuation:www.example.com
请注意[:port number]
是可选的,但<service>
和<fully qualified domain>
是必需的!
答案 3 :(得分:3)
从应用提交失败错误我理解的可能是您的配置文件仍然启用了“关联域”并且在您的应用程序“权利”文件中丢失了它。
显然会出现两种情况。
场景1 :您是否要支持“关联域”。应该为“通用链接”等功能启用此功能。
请参阅以下链接:
在这种情况下,请不要手动编辑“授权”文件。而是按照步骤进行操作。
<强> 1 即可。在Xcode中选择您的项目文件。
<强> 2 即可。在“目标”
下选择适当的目标第3 即可。选择“常规”旁边的“功能”
<强> 4 即可。您可以看到“Associated Domains”的选项,如下所示。
<强> 5 即可。启用“关联域”。如果您启用“关联域”,Xcode会要求您登录开发人员帐户,它将与您的AppId和配置文件同步。
如上面的屏幕截图所示,启用“关联域”时会执行两项操作
如果从Xcode和开发者帐户同步您的设置时出现任何问题,请选中以下复选框已启用。
还要确保您的In House和App Distributions配置文件已正确更新并同步。
大部分工作都是由Xcode本身完成的,我们只需要倾听和理解。
场景2 :您的应用不需要“关联域”功能。 在这种情况下,请按照@Ciprian Rarau给出的答案。它解释得很好。
答案 4 :(得分:2)
正如ERROR ITMS-90164/90046: Invalid Code Signing Entitlements中所述,我能够通过执行Clean build来解决问题。 为了记录,我收到错误代码 ITMS-90164 。
答案 5 :(得分:0)