AppIntents not working in Release

We have some AppIntents we are POCing and when we make a Release build, they no longer appear in the system.

These AppIntents live in a Framework compiled and linked with the core app.

We believe that this is related to Mergable Libraries. We have confirmed that the meta data for the framework still contains a list of all of the actions and their mangled symbols.

The mangled symbols however now live in the app binary (confirmed by building Release with DEBUG_INFORMATION_FORMAT = dwarf)

If we move the AppIntent code into the app target, things once again work as expected.

Is there a flag we need to set, or is moving the code into the app target the only workaround?

Thank you!

A really common thing that gets overlooked when putting an intent in a framework is that you need to declare it via an AppIntentsPackage. The documentation I linked there has the code snippets you need. Once you add that, what happens?

— Ed Ford,  DTS Engineer

As Taylor mentioned, we have the package set up. It works in DEBUG, but not in RELEASE. It works in RELEASE if we disable MERGABLE LIBRARIES.

So the question is: What is the best way to handle mergable libraries?

I don't see a mention of a package in the first post, but thanks for confirming those basics were in place.

I was able to connect this post with FB19838406 that someone in your company filed. I had some time today to look at this closer, and I was able to reproduce what you seeing, so I added notes to that report. Until we're able to get further into detail about the cause of what's happening here, I'd avoid using mergable libraries for frameworks containing your App Intents as the most obvious workaround.

— Ed Ford,  DTS Engineer

AppIntents not working in Release
 
 
Q