I have an app that deploys back to macOS 10.13. It also uses code from Network.framework, which was introduced in macOS 10.14.
In code, I use import Network
to import the framework. Because the framework is not available on our oldest deployment target, I'm also adding -weak_framework Network
to our Other Linker Flags
. This builds and runs just fine.
However, upon inspecting the actual binary with otool -L
, it appears that the app is trying to link to /System/Library/PrivateFrameworks/Network.framework
instead of /System/Library/Frameworks/Network.framework
. This results in a rejection from App Store review, because it detects that we're using private APIs.
This seems like a bug in the linker, and I've filed FB9715763 accordingly. But in the meantime, I have an app to ship. Is there a way to tell the linker to use a particular path for this framework? I've tried adding /System/Library/Frameworks
to Framework Search Paths
, but that doesn't seem to be helping.