I've noticed that NSTaks has this property as of macOS 14.4 @property (nullable, copy) NSData *launchRequirementData API_AVAILABLE(macos(14.4)) API_UNAVAILABLE(ios, watchos, tvos, visionos);
It has no documentation whatsoever. Even google search has no clue. Does this have anything to do with code signature requirements validation? Any explanations and examples would be appreciated!
Does this have anything to do with code signature requirements validation?
Yes. However, it’s not using the traditional code signing requirements, as discussed in TN3127 Inside Code Signing: Requirements. Rather, it uses the new lightweight requirements. We talk about these concepts in general in:
-
WWDC 2023 Session 10266 Protect your Mac app with environment constraints
-
Defining launch environment and library constraints documentation
However, the easiest way to build this data is with the LightweightCodeRequirements framework. I show an example of this in this thread.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"