13

当我第一次构建我的应用程序和 Watchkit 应用程序时,我启用了“关联域”功能。我在 watchkit 扩展和配套应用程序的“功能”面板中禁用了它,并确认密钥已从每个 info.plist 中消失。

我已经转到 Apple 的“证书、标识符和配置文件”页面,为每个 Watchkit 应用程序、扩展程序和应用程序选择了应用程序 ID,取消选中“关联域”,重新生成每个配置文件,下载并安装它们。

我已经完成了 Ctrl-Shift-Command-K 完全清理、重新启动和重建。在向应用商店提交时,我收到以下错误消息。

我在 xcode 中进行了项目搜索,但找不到 com.apple.developer.associated-domains 键。我已经搜索了构建目录,nada。我不相信这个密钥实际上存在于我的代码中,但 iTunesConnect 似乎认为它在那里并设置为“*”。

来自 Xcode Organizer 的错误消息 itms-90046 的屏幕截图

4

6 回答 6

24

要解决此问题:

  • 登录 Apple 开发者中心
  • 转到证书、标识符和配置文件。
  • 转到标识符/应用程序 ID。
  • 选择您的 App ID 并编辑
  • 取消选中关联域
  • 节省

您必须重新生成与 App ID 关联的任何配置文件。出于某种原因,我的应用程序检查了“关联域”。取消选择它使 AppStore 提交工作。

在此处输入图像描述

在此处输入图像描述

于 2015-05-07T12:34:40.683 回答
9

我认为这是一个错误。

我通过简单地在配套应用程序和 Watchkit 扩展的 Entitlements.plist 中插入一个新的 Array 项来管理解决方法:“com.developer.apple.associated-domains”和 webcredentials 的有效域:字符串。虽然这不会产生任何实际效果,因为我的配置文件和应用程序或扩展的功能选项卡都没有为关联的域启用,但它停止了 itunesconnect 上的任何代码扫描程序因不存在的键的无效值“*”而绊倒.

Entitlements.plist 的屏幕截图

于 2015-04-26T14:37:28.550 回答
6

如果要使用关联域,请确保中的每个条目都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> 必需的!

于 2015-12-02T15:00:23.713 回答
3

从应用程序提交失败的错误中,我理解可能是您的配置文件仍然启用了“关联域”并且它在您的应用程序“权利”文件中丢失。

所以显然会有两种情况。

场景 1:您是否要支持“关联域”。应该为“通用链接”等功能启用此功能。

请参考以下链接:

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html

在这种情况下,请不要手动编辑您的“权利”文件。而是按照步骤操作。

1 . 在 Xcode 中选择您的项目文件。

2 . 在“目标”下选择适当的目标

3 . 选择“常规”旁边的“功能”

4 . 您可以看到如下所示的“关联域”选项。

在此处输入图像描述

5 . 启用“关联域”。如果您启用“ Associated Domains ”,Xcode 会要求您登录到开发人员帐户,它将与您的 AppId 和 Provisioning 配置文件同步。

正如上面的截图中提到的,它会在启用“关联域”时做两件事

  • 将关联域权利添加到您的权利文件中。
  • 将关联的域功能添加到您的 App ID 中。

如果从 Xcode 和开发者帐户同步您的设置有任何问题,请选中以下复选框。

在此处输入图像描述

还要确保您的 、In House 和 App Distributions 配置文件正确更新和同步。

大多数工作将由 Xcode 自己完成,我们只需要倾听和理解。

场景 2:您的应用不需要“关联域”功能。在这种情况下,请按照@Ciprian Rarau 给出的答案。它很好地解释了。

于 2016-09-30T09:49:26.963 回答
2

正如ERROR ITMS-90164/90046: Invalid Code Signing Entitlements中所述,我能够通过执行 Clean build 来解决该问题。作为记录,我收到错误代码ITMS-90164

在此处输入图像描述

于 2016-05-24T22:28:32.393 回答
0
  • 得到:“可执行文件已使用无效权利签名”消息
  • 用谷歌搜索给出了一些有用的提示,但 ^ 消息并没有停止
  • 前往:Xcode > 窗口 > 设备
  • 然后:在设备窗口的左下角,我选择了“显示设备控制台”按钮
  • 从日志的按钮开始,我扫描了信息,发现了问题并在短时间内修复了它
  • 就我而言,它涉及 com.apple.developer.associated-domains 权利,我需要保留关联域
  • 以后只要有设备错误消息,我都会使用设备控制台,这样可以节省多少时间
  • 在短时间内解决了问题
  • 顺便说一句,谢谢大家的帮助
于 2016-04-29T17:53:29.843 回答