I ran into some trouble using MASShortcut alongside @IBDesignable in Xcode tonight, and noticed that the INSTALL_PATH had been hard-coded to "@executable_path/../Frameworks" and the DYLIB_INSTALL_NAME_BASE was defaulting to /Library/Frameworks.
Since Mac OS X 10.5, setting DYLIB_INSTALL_NAME_PATH to @rpath has been the preferred setting - this allows apps and other frameworks to ask the dynamic linker to search a specific list of locations (set using the LD_RUNPATH_SEARCH_PATHS variable), rather than hard coding the list of places into the library.
I ran into some trouble using MASShortcut alongside
@IBDesignable
in Xcode tonight, and noticed that theINSTALL_PATH
had been hard-coded to"@executable_path/../Frameworks"
and theDYLIB_INSTALL_NAME_BASE
was defaulting to/Library/Frameworks
.Since Mac OS X 10.5, setting
DYLIB_INSTALL_NAME_PATH
to@rpath
has been the preferred setting - this allows apps and other frameworks to ask the dynamic linker to search a specific list of locations (set using theLD_RUNPATH_SEARCH_PATHS
variable), rather than hard coding the list of places into the library.There's more info at https://www.mikeash.com/pyblog/friday-qa-2009-11-06-linking-and-install-names.html, but it resolved the Interface Builder issues I was having, and these settings are the defaults when you create a new macOS framework project in Xcode 8 so they should be reasonably safe to include.