问题
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.
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.
I've done a Ctrl-Shift-Command-K complete clean, reboot, and rebuild. On sumbission to the appstore I get the error message below.
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 '*'.
回答1:
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
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.
回答2:
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.
回答3:
If you want to use associated-domains, make sure each entry in Entitlements.plist > com.developer.apple.associated-domains
uses the following format:
<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!
回答4:
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".
Please refer the following link:
https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html
In this case please don't manually edit your "entitlement" file. Instead follow the steps.
1. Select your project file in Xcode.
2. Select appropriate Target under "Targets"
3. Select "Capabilities" which is next to "General"
4. You can see an option for "Associated Domains" as given below.
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.
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.
If there is any issue in syncing your settings from Xcode and Developer account , please check the following checkbox is enabled.
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.
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.
回答5:
As other stated in ERROR ITMS-90164/90046: Invalid Code Signing Entitlements I was able to solve the issue by performing Clean build. For the record, I was getting error code ITMS-90164.
回答6:
- 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 console in 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
来源:https://stackoverflow.com/questions/29877677/apple-store-submit-fails-with-error-itms-90046-but-associated-domains-is-not-am