1
votes

Context: I'm using a Custom Intent, called TestConfiguration, for the new iOS 14 widget I've created and I have "Dynamic Options" checked. My goal is to allow the user to edit the widget view, based off an option selected from a list retrieved from the backend, and have the changes be reflected on the widget itself.

I have a class called IntentHandler that adheres to TestConfigurationIntentHandling. Within this delegate method

func provideAssetsOptionsCollection(for intent: TestConfigurationIntent, with completion: @escaping (INObjectCollection<TestIntentItem>?, Error?) -> Void) {

I've tried to call the backend in this delegate methdo, but it always tells me "No options were provided for this parameter". So I dug in the documentation and saw the confirm delegate method and implemented it like so:

func confirm(intent: TestConfigurationIntent, completion: @escaping (TestConfigurationIntentResponse) -> Void) {
    completion(TestConfigurationIntentResponse(code: .inProgress, userActivity: nil))
    backendService.fetchData() { result in
        //format all the data
        completion(TestConfigurationIntentResponse(code: .success, userActivity: nil))
    }
}

But this didn't seem to work either since it's still giving me the same response. What am I not understanding / how can I get this done?

1

1 Answers

0
votes

Make sure that when you're testing this on a iOS 14.0 device, the target version of the Intent Handler is also set to iOS 14.0, instead of iOS 14.1.