Hello again. We have a sandboxed app in macOS App Store. It has to load dylib files using dlopen(). The dylib files are signed by our vendor. When the app tries to load them, we see this error similar to "mapping process and mapped file have different Team IDs".
We tried adding disable-library-validation but when we do so, the app refuses even to start.
Is there a way to achieve loading of dylibs signed by another team?
Also, this issue happens with only a few users. I don't see this issue on my development machines.
However, I think we'll have to take the approach of embedding these dylibs in our app itself and increase the app's release frequency.
Yep.
The dylibs end up in
/Applications/OUR_APP.app/Contents/Resources/DYNAMICLIB.dylib
Yeah, don’t do that. Place these libraries in Contents/Frameworks
. That’s the correct place for nested libraries, per the Nested Code section of Technote 2206 macOS Code Signing In Depth.
I believe this will still cause another warning from Gatekeeper?
I thought the plan was to distribute via the Mac App Store? If so, Gatekeeper isn’t a concern (well, it’s Apple’s concern because Apple is doing the final signing of your app).
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"