Max OS X App Bundle Framework folder

Hi,

the documentation says that an application bundle for Mac OS X can have a Frameworks folder within Contents. Using a framework for console applications (no bundle) and GUI applications (bundle), I cannot load the console applications anymore on Ventura.

Prior to Ventora I have tested and ran both on Mojave or earlier - I am not sure.

To fix the issue, I have moved the frameworks within the application bundle to match the rpath for /Users/lothar/Library/Frameworks when I place the console into /Users/lothar/bin, the same rpath for application bundles works for those within the bin folder.

Can I publish an application bundle with that modified layout or do I have to expect getting problems and do rather a Symlink pointing from /Users/lothar/Frameworks to /Users/lothar/Library/Frameworks?

Thanks, Lothar

Answered by DTS Engineer in 808864022

I’m not 100% sure I understand what you’re getting at here, so I’m gonna point you at Dynamic Library Identification, which explains the two standard patterns for dealing with… well… dynamic library identifications. If you follow one of these two paths, things will work swimmingly. If not, things get more complex.

I also recommend that you enable library validation. The easiest way to do that is to enable the hardened runtime [1]. Library validation is an important security feature, and that added security means that it’s easier to pass other security checks (like Gatekeeper).

If you continue to have problems, please post back with more details about what you’re trying to do.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Also, once you do that, don’t then explicitly disable library validation via com.apple.security.cs.disable-library-validation.

I’m not 100% sure I understand what you’re getting at here, so I’m gonna point you at Dynamic Library Identification, which explains the two standard patterns for dealing with… well… dynamic library identifications. If you follow one of these two paths, things will work swimmingly. If not, things get more complex.

I also recommend that you enable library validation. The easiest way to do that is to enable the hardened runtime [1]. Library validation is an important security feature, and that added security means that it’s easier to pass other security checks (like Gatekeeper).

If you continue to have problems, please post back with more details about what you’re trying to do.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] Also, once you do that, don’t then explicitly disable library validation via com.apple.security.cs.disable-library-validation.

Max OS X App Bundle Framework folder
 
 
Q