Hi I have same code for IntentHandler for iOS and macOS. On iOS works perfectly on macOS not at all. In WidgetKit simulator I even see option to configure the widget so it load the .intentdefinition file.
I also checked that IntentHandler and all required files (CoreData model etc) are in the target for both macOS, widget and Intent.
When try to edit the Widget I get - No options were provided for this parameter. Also I tried to remove all same App from macOs, cleaned Derived data.
Thanks
My implementation of Intent
I also checked that IntentHandler and all required files (CoreData model etc) are in the target for both macOS, widget and Intent.
When try to edit the Widget I get - No options were provided for this parameter. Also I tried to remove all same App from macOs, cleaned Derived data.
Thanks
My implementation of Intent
Code Block swift import Intents enum IntentErrors: Error { case allIsWrong } final class IntentHandler: INExtension { override func handler(for intent: INIntent) -> Any { // This is the default implementation. If you want different objects to handle different intents, // you can override this and return the handler you want for that particular intent. return self } } extension IntentHandler: RecentWeddingIntentHandling { func provideWeddingOptionsCollection( for intent: RecentWeddingIntent, with completion: @escaping (INObjectCollection<IntentWedding>?, Error? ) -> Swift.Void) { guard let weddingsInstances = CDWedding.instances else { let weddings = [IntentWedding(identifier: "createId", display: "Please create wedding")] let collection = INObjectCollection(items: weddings) completion(collection, IntentErrors.allIsWrong) return } let weddings = weddingsInstances.map { wedding in IntentWedding(identifier: wedding.id, display: wedding.name) } let collection = INObjectCollection(items: weddings) completion(collection, nil) } func defaultWedding(for intent: RecentWeddingIntent) -> IntentWedding? { if let wedding = UserSettings.shared.correctUser?.selectedWedding { return IntentWedding(identifier: wedding.id, display: wedding.name) } else { let wedding = IntentWedding(identifier: "createId", display: "Please create wedding") return wedding } } }
I recreate the same issue I have with Apple Demo project Fruta repo is here: https://github.com/kmentrobin/Fruta-macOS-Widget