13

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 '*'.

Screen shot of error message itms-90046 from Xcode Organizer

Ionut Hulub
  • 6,180
  • 5
  • 26
  • 55
brianfit
  • 1,829
  • 1
  • 19
  • 34

6 Answers6

24

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.

enter image description here

enter image description here

Ciprian Rarau
  • 3,040
  • 1
  • 30
  • 27
  • yep it was my issue as well, nice pictures and description i don't know why someone would down vote this.... – nsij22 Jun 07 '15 at 23:25
  • delete and refresh your provisioning profiles if the problem persists – jwswart Sep 30 '15 at 13:43
  • 13
    I could down vote it too, but I'm a good man, so reason is: This solution kind of: "if feature have a problem, just remove this feature" - it's not a solution at all! – Евгений Шевченко Oct 02 '15 at 07:14
  • 1
    In my case it was enabled automatically without asking for it. It's not always that you need Associated Domains. To see if you need it, check here: (search for associated domains) https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html Apple says: "Enable associated domains if you want your app to be associated with a domain to access specific services—such as Safari saved passwords and activity continuation." – Ciprian Rarau Oct 02 '15 at 13:10
  • In my case I actually DO want to use an associated domain and I purposely enabled it, yet I'm getting the same error. This answer doesn't help me. – Mike C. Dec 09 '15 at 21:39
9

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.

Screenshot of Entitlements.plist

brianfit
  • 1,829
  • 1
  • 19
  • 34
6

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!

Blank
  • 4,872
  • 2
  • 28
  • 25
3

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.

enter image description here

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.

enter image description here

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.

arango_86
  • 4,236
  • 4
  • 40
  • 46
2

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.

enter image description here

Community
  • 1
  • 1
Andrej
  • 7,266
  • 4
  • 38
  • 57
0
  • 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
B. Wason
  • 33
  • 6