Hello,
I have built a piece of code as an external framework which can be optionally installed (in Library/Frameworks).
This worked fine until I've enable hardened runtime in my mac os app (even with the "Disable Library Validation" option set).
Both app and framework have the LC_VERSION_MIN set to 10.9, as suggested in this thread:
https://forums.developer.apple.com/thread/115451
Both app and framework are signed by me. The application is not sandboxed.
Some suggestions?
Thanks,
Bruno
mixage and I discussed their issue in depth and managed to work out what was going wrong. Their framework’s install name (the value from the
LC_ID_DYLIB
load command, as displayed by
-D
option in
otool
) was using the
`@rpath
prefix. The hardened runtime puts significant restrictions on the use of
@rpath
because it’s a vector for injecting code into apps, and thus they ran into problems when enabling it.
As their framework was meant to be installed in
/Library/Frameworks/
, changing the install name to an absolute path with that prefix resolved their issue.
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"