The App Store looks at LC_VERSION_MIN_IPHONEOS to verify you have a
new enough SDK version. This is not just the minimum version, but also
the sdk version used. When the linker can’t figure it out, it tries to
infer it from the sdk path[1]. When no sdk version is found, it
defaults to just using the -miphoneos-version-min value[2]. So, to make
sure we don’t rely on inference (which doesn’t work in the current
directory structure), we have to specify -platform_version.
[1]:
43f32a4c61/cctools/ld64/src/ld/Options.cpp (L5355-L5376)
[2]: 43f32a4c61/cctools/ld64/src/ld/ld.hpp (L58)