We’ve been having some issues getting our app validated. It’s an extremely complex app with a lot of pieces. We used to build all the C++ code directly into the app, but for various reasons now another team is building that as a framework, and one of their dependencies, OpenCV, is currently packaged as a bare
.dylib. That should be allowed, but App Validation fails with:
I went down a lot of paths trying to understand what’s going on. The error message is initially misleading (dylibs don’t have an Info.plist, for example), and
LC_VERSION_MIN is not a loader command (
From what I’ve been able to gather so far:1 As of iOS 12 (and I’m not sure which macOS version), the loader looks for
LC_BUILD_VERSION instead of
LC_VERSION_MIN*. Our library has
$ otool -l libopencv_world.4.1.1.dylib | grep -A4 VERSION cmd LC_BUILD_VERSION cmdsize 32 platform 2 sdk 13.2 minos 12.0
This implies that App Store Validation is not looking for the right meta information.
But the Swift ABI compatibility libraries provided by Xcode use the older
$ otool -l OurApp.app/Frameworks/libswiftCore.dylib | grep -A4 VERSION cmd LC_VERSION_MIN_IPHONEOS cmdsize 16 version 7.0 sdk 12.2
I’ve burned a Developer Technical Support incident trying to get this question answered, but have yet to receive a response.