4

I am currently adding SiriKit in my application and I have created an INExtension class. In my Info.plist I have the following code as below.

But each time I try to run the Intent Extension class on my device, none of the override handle methods are called by Siri. I have added logs in each methods but to no success. Is there anything else I am missing ?

Also FYI before posting this I referred the link but there were no answers: Link

<key>NSExtension</key>
<dict>
    <key>NSExtensionAttributes</key>
    <dict>
        <key>IntentsRestrictedWhileLocked</key>
        <array>
            <string>INSearchForAccountsIntent</string>
        </array>
        <key>IntentsSupported</key>
        <array>
            <string>INSearchForAccountsIntent</string>
        </array>
    </dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.intents-service</string>
    <key>NSExtensionPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).IntentHandler</string>
</dict>
lifemoveson
  • 1,661
  • 8
  • 28
  • 55
  • 1
    So I figured out the issue which was that certain new Intents in Siri works only on iOS 11 and above devices and I was testing on iOS 10 devices. – lifemoveson Feb 06 '18 at 17:27

1 Answers1

4

I faced similar problem - handler wasn't called. Finally I've found out, that although the project supports iOS 11.4, it initially set IntentExtension target to iOS 13. And my device, which I use for testing, has 12.4.

So my advice: check your deployment target for each target.

Ondřej Korol
  • 594
  • 6
  • 19
  • 1
    OMG, I have been beating my head against the desk for weeks because my IntentHandler never got called on my test iOS 12 device. I found out my Intent and IntentUI targets' build settings were incorrectly configured to target iOS 14.3 which caused the problem. Changing them to target iOS 12.0 immediately resolved the issue. – davidgyoung Dec 29 '21 at 14:35