xcode Apple Store 提交失败并显示错误 ITMS-90046,但关联域不在权利范围内
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/29877677/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Apple Store submit fails with Error ITMS-90046, but Associated Domains is not among entitlements
提问by brianfit
When I first built my app & Watchkit app, I had the "Associated Domains" capability enabled. I've disabled it in the "Capabilities" panel of both the watchkit extension and the companion app, and confirmed that the key is gone from each info.plist.
当我第一次构建我的应用程序和 Watchkit 应用程序时,我启用了“关联域”功能。我已经在 watchkit 扩展和配套应用程序的“功能”面板中禁用了它,并确认密钥从每个 info.plist 中消失了。
I have gone to Apples' "Certificates, Identifiers and Profiles" page, selected the App ID for each the Watchkit App, The Extension, and the App, unticked "Associated Domains", regenerated the provisioning profiles for each, downloaded and installed them.
我已经转到 Apple 的“证书、标识符和配置文件”页面,为每个 Watchkit 应用程序、扩展程序和应用程序选择了应用程序 ID,取消选中“关联域”,为每个应用程序重新生成配置文件,下载并安装它们。
I've done a Ctrl-Shift-Command-K complete clean, reboot, and rebuild. On sumbission to the appstore I get the error message below.
我已经完成了 Ctrl-Shift-Command-K 完全清理、重新启动和重建。在向应用商店提交时,我收到以下错误消息。
I have done a project search within xcode and cannot find a com.apple.developer.associated-domains key. I've searched the build directory, nada. I don't believe this key actually exists in my code, and yet iTunesConnect seems to think its there and set to '*'.
我在 xcode 中进行了项目搜索,但找不到 com.apple.developer.related-domains 键。我搜索了构建目录,nada。我不相信这个键实际上存在于我的代码中,但 iTunesConnect 似乎认为它存在并设置为“*”。
采纳答案by brianfit
I think this is a bug.
我认为这是一个错误。
I managed a workaround by simply inserting a new Array item in the Entitlements.plist of both the companion app and the Watchkit extension: "com.developer.apple.associated-domains" and a valid domain for the webcredentials: string. While this will have no practical effect as neither my provisioning files nor the Capabilities tab of the app or extension are enabled for associated domains, it stopped whatever code scanner at itunesconnect was tripping over an invalid value of "*" for the non-existent key.
我通过简单地在配套应用程序和 Watchkit 扩展的 Entitlements.plist 中插入一个新的 Array 项来管理一个解决方法:“com.developer.apple.related-domains”和一个有效的 webcredentials 域:字符串。虽然这没有实际影响,因为我的配置文件和应用程序或扩展的功能选项卡都没有为关联的域启用,但它阻止了 itunesconnect 上的任何代码扫描器为不存在的密钥绊倒了无效的“*”值.
回答by Ciprian Rarau
To fix this issue:
要解决此问题:
- log into Apple Deveveloper Center
- Go to Certificates, Identifiers & Profiles.
- Go to Identifiers/App IDs.
- Select your App ID and Edit
- Uncheck Associated Domains
- Save
- 登录 Apple 开发者中心
- 转到证书、标识符和配置文件。
- 转到标识符/应用程序 ID。
- 选择您的 App ID 并编辑
- 取消选中关联域
- 节省
You will have to regenerate any provisioning files associated with the App ID. For some reason the "Associated Domains" got checked for my app. Deselecting it made the AppStore submission work.
您必须重新生成与 App ID 关联的所有配置文件。出于某种原因,我的应用程序检查了“关联域”。取消选择它使 AppStore 提交工作。
回答by Blank
If you want to use associated-domains, make sure each entry in Entitlements.plist > com.developer.apple.associated-domains
uses the following format:
如果要使用关联域,请确保中的每个条目都Entitlements.plist > com.developer.apple.associated-domains
使用以下格式:
<service>:<fully qualified domain>[:port number]
eg.
例如。
webcredentials:www.example.com
applinks:www.example.com
activitycontinuation:www.example.com
Keep in mind [:port number]
is optional, but <service>
and <fully qualified domain>
are required!
在保持头脑[:port number]
是可选的,但是<service>
和<fully qualified domain>
需要!
回答by arango_86
From the App submission failed errors what I understand is possibly your provisioning profile still have the "associated-domains" enabled and its missing in your application "entitlements" file.
从应用程序提交失败错误中,我了解到您的配置文件可能仍然启用了“关联域”,并且在您的应用程序“权利”文件中丢失了它。
So obviously there will be two scenarios.
所以显然会有两种情况。
Scenario 1: Do you want to support "associated-domains". This should be enabled for features like "Universal Links".
场景 1:您是否要支持“关联域”。应该为“通用链接”等功能启用此功能。
Please refer the following link:
请参考以下链接:
In this case please don't manually edit your "entitlement" file. Instead follow the steps.
在这种情况下,请不要手动编辑您的“权利”文件。而是按照步骤操作。
1. Select your project file in Xcode.
1. 在 Xcode 中选择您的项目文件。
2. Select appropriate Target under "Targets"
2. 在“目标”下选择合适的目标
3. Select "Capabilities" which is next to "General"
3. 选择“常规”旁边的“功能”
4. You can see an option for "Associated Domains" as given below.
4. 您可以看到如下所示的“关联域”选项。
5. Enable "Associated Domains". If you enable "Associated Domains" Xcode will ask you to login to the Developer account and it will be in sync with your AppId and Provisioning profile.
5. 启用“关联域”。如果您启用“关联域”,Xcode 将要求您登录开发人员帐户,并且它将与您的 AppId 和配置文件同步。
As mentioned in the above screenshot it will do two things while enabling "Associated Domains"
正如上面截图中提到的,它会在启用“关联域”时做两件事
- Add the Associated Domain entitlement to your entitlements file.
- Add the associated Domain feature into your App ID.
- 将关联域权利添加到您的权利文件。
- 将关联的域功能添加到您的 App ID 中。
If there is any issue in syncing your settings from Xcode and Developer account , please check the following checkbox is enabled.
如果从 Xcode 和开发人员帐户同步您的设置时出现任何问题,请检查以下复选框是否已启用。
Also make sure that your , In House and App Distributions provisioning profiles are properly updated and in sync.
还要确保您的 、内部和应用程序分发配置文件正确更新和同步。
Most the work will do by Xcode itself, we just needs to listen and understand.
大多数工作将由 Xcode 自己完成,我们只需要倾听和理解。
Scenario 2: Your App don't need the "Associated-Domain" capability. In this case , Please follow the Answer given by @Ciprian Rarau. Its well explained.
场景 2:您的应用不需要“关联域”功能。在这种情况下,请遵循@Ciprian Rarau 给出的答案。它很好地解释了。
回答by Andrej
As other stated in ERROR ITMS-90164/90046: Invalid Code Signing EntitlementsI was able to solve the issue by performing Clean build. For the record, I was getting error code ITMS-90164.
正如ERROR ITMS-90164/90046: Invalid Code Signing Entitlements 中所述,我能够通过执行 Clean build 来解决该问题。作为记录,我收到错误代码ITMS-90164。
回答by B. Wason
- Was getting: "The executable was signed with invalid entitlements" messages
- Searching with Google gave some useful hints, but the ^ message did not stop
- Went to: Xcode > Window > Devices
- Then: At the lower left-hand corner of the Devices Window I selected the "Show the device console" button
- Starting from the button of the log I scanned the information and found the problem and fixed it in a short amount of time
- In my case it involved com.apple.developer.associated-domains entitlements, and I needed to keep associated-domains
- I will use the device consolein the future whenever there are device error messages, what a time saver
- Solved the problem in a short amount of time
- BTW, THANK YOU all for your help
- 收到:“可执行文件的签名无效”消息
- 用谷歌搜索给出了一些有用的提示,但 ^ 消息并没有停止
- 去:Xcode>窗口>设备
- 然后:在设备窗口的左下角,我选择了“显示设备控制台”按钮
- 从日志的按钮开始扫描信息,发现问题并在短时间内修复
- 就我而言,它涉及 com.apple.developer.related-domains 权利,我需要保留相关域
- 以后只要有设备错误消息,我就会使用设备控制台,多么节省时间
- 短时间内解决问题
- 顺便说一句,谢谢大家的帮助