Hello,
We are reaching out to the official forum as an option to help us solve an issue we’re encountering with our app.
The problem lies in the implementation of the AppIntents framework in our codebase, which, at the moment, is impossible to complete due to compilation errors occurring in specific targets of our app. We are currently using Xcode 16.0.
First of all, we want to clarify that the integration of the AppIntents library poses no issues in our development targets (pre-production environments), since no additional code obfuscation steps are performed there.
However, in the release targets used for production builds (those intended to be released to users), we encounter the following compilation error:
These errors indicate that the “.swiftconstvalues” files are missing for all of the files in our application.
We also want to highlight that we are using a code obfuscation tool called Arxan, provided by Digital.ai. This tool is integrated via specific Build Settings configurations, various files added to the project, and an additional Build Phase script.
We have conducted the following tests:
Disabling Arxan in release targets: The app compiles successfully and those files are generated (suspicious, I know).
Adding a library with AppIntents references and an AppIntent in our app: Both scenarios produce the same compilation error.
Creating a demo project with AppIntents and Arxan (basic implementation): The project compiles correctly and those files are in place.
Contacting Digital.ai support: They suggested several changes to the Build Settings, but none of them resolved the issue.
Additionally, we’ve attempted to gather information from the compiler to understand how these “.swiftconstvalues” files are generated. Unfortunately, we haven’t found any official documentation, so we would like to ask a few questions:
Is it possible to interfere with the creation of these files in any way? For example, via scripts or other custom build steps?
Is there any way to force the generation of these files through a build parameter or flag?
Is it possible to bypass the “Extract App Intents Metadata” step during compilation? If so, what would be the implications of doing this when using a library that includes references to AppIntents?
I know that involving a code obfuscation tool raises suspicions about it being the problem, we just want to know a little more about this compilation step to have some more context before reaching them again.
Feel free to ask any questions or details, any reply is appreciated.
Thanks