ITMS-90625 Error on App Store Connect with Siri Intents

I'm trying to get an update for one of my apps submitted but I'm running into problems when trying to distribute the app. The App Store Connect service goes through all the steps of uploading the binary and then fails at the very end with a triple error ITMS-90625: "Invalid Intent Extension. The NSExtensionAttributes key in the Info.plist file can't contain the intent name INCurrentRateIntent". I tried to fix the error, tried to look for others with the error, but so far I have drawn a blank.


This is an overview of the structure of the app. The app has an iOS/iPadOS target as well as a WatchOS target. The app is written in Swift/SwiftUI with minimal UIKit hooks and targets iOS 13.2. In addition, there is a widget target. The WatchOS app is a standalone app. All of these components work well and are the current version of the app as available on the App Store.


For the next app update I want to add support for Siri Intents. I did so by adding a new iOS Siri intents target (there are no intents for the WatchOS target), creating the intents file, and linking the rest of the app (donating, responding, the works). There are three intents added. Two are basic intents without parameters, one intent has two parameters that are user-configurable. All intents provide a response (the tow basic intents provide an NSNumber, the other one a Date). Both the widget and the Siri intents target share some core code, which is a basic version of the code used by the main components. The app update includes further changes, but these are all in the backend and only affect basic Swift code, not any part of the UI.


Everything works as intended when testing on my test devices. The app compiles, there are no errors or warnings, intents are successfully donated, actions are available in Shortcuts, the actions can be parameterised, and the actions provide the desired results. Since I'm happy with the internal testing I went ahead with distributing the app through the App Store.


Whenever I try to upload the binary for distribution, I get hit with three errors ITMS-90625: "Invalid Intent Extension". The build does successfully upload when removing the new Siri Intent target. When trying to rebuild the Siri Intent target from scratch (after deleting the target and the referenced files) the end result when uploading to App Store Connect is the same and triggers an ITMS-90625 error from App Store Connect.


I'm not sure what else I can do or what I'm overlooking. The mentioned information in the Info.plist is auto-generated by XCode and contains the correct information. The name of the intent is INCurrentRate and the auto-generated class name is INCurrentRateIntent . This class name is the one mentioned in Info.plist. The same holds for the other two intents added in the file.


Anyone who encountered this particular, or anyone who would know how to get the app submit through App Store Connect?

Replies

@kkvaruni were you able to resolve this issue ?


I am stuck with this problem and have spentc countless hours on fixing but so far no progress.


If you have fixed the problem, please let me know the steps how to resolve this problem. I wil be very thankful to you.


Please help me if you have already solved this problem. Really a starange/ weired problem.

Did you resolve this issue?
I get same issue. I just add widget and intent to configure it. It works well when i install app via xCode. But when i upload Archive i see:
Code Block
ERROR ITMS-90625: "Invalid Intent. The '***.app/PlugIns/WidgetIntentHandler.appex' Info.plist contains an invalid intent 'INDynamicXXXSelectionIntent'. Remove the 'INDynamicXXXSelectionIntent' intent from both the IntentsSupported and IntentsRestrictedWhileLocked arrays."


If I do this the "Edit Widget" popup is empty. And impossible to configure widget. So I can't publish app update :(
I resolved this issue. So, I couldn't upload build to the AppStore, but locally (via xCode) it worked well. I blocked by message like:

ERROR ITMS-90625: "Invalid Intent. The '***.app/PlugIns/WidgetIntentHandler.appex' Info.plist contains an invalid intent 'INDynamicXXXSelectionIntent'. Remove the 'INDynamicXXXSelectionIntent' intent from both the IntentsSupported and IntentsRestrictedWhileLocked arrays."

Solution: remove the Class Prefix.
Instructions:
  • in the Project Navigator select your project

  • open Inspector (it is right panel. Click on the button on top right corner of xCode)

  • remove/clear "Class Prefix"

PS: you will have to update some code by removing prefixes
Same problem here ;-(
I had this issue as well. Turned out I had two Supported Intents with similar names in my Info.plist for the Intent target.

Code Block xml
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>IntentsRestrictedWhileLocked</key>
<array/>
<key>IntentsRestrictedWhileProtectedDataUnavailable</key>
<array/>
<key>IntentsSupported</key>
<array>
<string>SelectGameCharacter</string>
<string>SelectGameCharacterIntent</string>
</array>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.intents-service</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).IntentHandler</string>
</dict>

I removed SelectGameCharacter (the one without the Intent suffix) and it worked.
Any other solution for this problem, it has not yet been possible to solve it for my project even if it compiles perfect in release mode and debugging the devices.

The problem only persists when I go to upload the update to the store

Did you resolve? Same issue when I try to upload with App Store Connect

Invalid Intent. The '***.app/PlugIns/IntentsExtension.appex' Info.plist contains an invalid intent 'INDisplayPropertyValuelntent'. Remove the 'INDisplayPropertyValueIntent' intent from both the IntentsSupported and IntentsRestrictedWhileLocked arrays.

If I remove the intent I can upload but the app does not work