It appears that this commit fixes the issue, while still keeping NEON support for iOS devices:
https://github.com/opencv/opencv/commit/262a52f3063c50fbb1236e2cba2bd3c68f9979bb
Essentially, the clause that appends -DENABLE_NEON=ON to the cmake line was only applying to architectures beginning with "armv" (note the "v"); the above commit changes opencv/platforms/ios/build_framework.py to allow the cmake command to work with "arm64" as well.
Before:
if arch.startswith("armv"):
cmakecmd.append("-DENABLE_NEON=ON")
After:
if arch.startswith("armv") or arch.startswith("arm64"):
cmakecmd.append("-DENABLE_NEON=ON")
Diagnostic process, since it might be useful:
Found this by starting a script build.log before invoking python ../opencv/platforms/ios/build_framework.py ios and digging through output; arm_init.c was not built for arm64 (which is where png_init_filter_functions_neon was defined) but was for armv7 and armv7s. From there, looking through 3rdparty/libpng/CMakeLists.txt pointed at ENABLE_NEON not being set.
opencv, but 64 bit is supported by default on the latestopencvframework, get it from - opencv.org/downloads.html