Intent definition in framework causing warning about intents implemented in two places

Have an app which has an intent definition defined in a framework. I understand that I have to add it to the project, but am seeing this warning message in Xcode when I run the app. The intents do seem to be working properly, however.

iOS 14 and Xcode 12.5:

objc[15464]: Class IntentSampleClassResolutionResult is implemented in both /private/var/containers/Bundle/Application/UUID/APPNAME.app/Frameworks/FRAMEWORKNAME.framework/Class (0x10917c2f8) and /private/var/containers/Bundle/Application/UUID/APPNAME.app/APPNAME (0x1028c1620). One of the two will be used. Which one is undefined.

If I remove the intent definition file from my compile sources build settings, those warning messages disappear, but when I run the shortcut action, I get this warning in the console:

2021-06-12 21:07:54.234798-0700 APPNAME[15473:7317463] [Intents] -[INIntentResponse init] App proxy <<LSApplicationProxy: 0x127acaac0> com.company.appname file:///private/var/containers/Bundle/Application/UUID/APPNAME.app/ <com.company.appname :0>> doesn't contain intent SampleIntent, falling back to current bundle

Any thoughts on how to suppress both of these warnings?

Replies

Your target membership for the Intent definition file should look like the one in the SoupChef sample code project. This is located on the File Inspector panel.

My project is structured a little differently in that I have a Workspace in which there are two framework projects underneath the main project. See screenshot:

When I click on the Intents.intendefinition file and try to change its settings, they are changed for both entries (since the top-level one is a reference to the one in the embedded framework). If I remove the reference in the main project, the actions don't appear anymore in Shortcuts.