I’ve been working on a Catalyst version of my iOS apps.
Finally everything is working apart from the custom intents the user user to configure the widgets.
The config UI loads:
And changing settings at this level works.
But it can’t load the options for the other settings:
“No options were provided for this parameter”
I see this crash in the intent:
Termination Reason: Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/CocoaLumberjack.framework/Versions/A/CocoaLumberjack
Referenced from: <E1BF4CC5-4181-3272-828C-86B1CD1A66BF> /Applications/my.app/Contents/PlugIns/Intents.appex/Contents/MacOS/Intents
Reason: , (security policy does not allow @ path expansion)
(terminated at launch; ignore backtrace)
I have added the Hardened Runtime Capability to the Main App Target, the Widget Target and the Intents Target. I also allowed “Disable Library Validation” just in case.
What am I missing?
When building for the Mac:
-
Do enable the hardened runtime. It opts you in to import security enhancements.
-
Don’t disabling library validation. Library validation is one of those important security enhancements. Disabling it makes your app significantly less secure. It also causes all sorts of other problems, as the OS attempts to ensure that your app doesn’t get compromised in some way.
A particularly gnarly example of that last point is the issue discussed in Resolving Gatekeeper Problems Caused by Dangling Load Command Paths. I believe that your current issue a less gnarly incarnation of the same thing.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"