Tôi đã gặp sự cố này ngay bây giờ với phiên bản 3.1 và câu trả lời của nebuto đã đóng, nhưng chưa hoàn thành. Sau đây đã có thể tạo ra kết quả mong muốn bằng cách cập nhật tệp build_framework.py.
def getCMakeArgs(self, arch, target):
args = [
"cmake",
"-GXcode",
"-DBUILD_SHARED_LIBS=OFF",
"-DBUILD_opencv_core=ON",
"-DBUILD_opencv_imgcodecs=OFF",
"-DBUILD_opencv_imgproc=ON",
"-DBUILD_opencv_world=OFF",
"-DBUILD_opencv_gpu=OFF",
"-DBUILD_opencv_calib3d=OFF",
"-DBUILD_opencv_contrib=OFF",
"-DBUILD_opencv_features2D=OFF",
"-DBUILD_opencv_flann=OFF",
"-DBUILD_opencv_highgui=ON",
"-DBUILD_opencv_legacy=OFF",
"-DBUILD_opencv_ml=OFF",
"-DBUILD_opencv_nonfree=OFF",
"-DBUILD_opencv_objdetect=OFF",
"-DBUILD_opencv_photo=OFF",
"-DBUILD_opencv_stitching=OFF",
"-DBUILD_opencv_video=OFF",
"-DBUILD_opencv_videoio=OFF",
"-DBUILD_opencv_videostab=OFF",
"-DAPPLE_FRAMEWORK=ON",
"-DCMAKE_INSTALL_PREFIX=install",
"-DCMAKE_BUILD_TYPE=Release",
]
return args
Bản cập nhật này cũng bao gồm hai mô-đun mới dường như chưa tồn tại trong 2.4.6.
Để biết thêm một số khoản tiết kiệm, bạn có thể xóa cài đặt i386 cho các bản dựng mô phỏng nằm ở cuối tệp. Nếu ứng dụng của bạn là iOS 9 trở lên và bạn muốn bỏ qua các thiết bị 32 bit, bạn cũng có thể chọn tùy chọn armv7.
b = Builder(args.opencv, args.contrib,
[
("armv7", "iPhoneOS"),
("armv7s", "iPhoneOS"),
("arm64", "iPhoneOS"),
#("i386", "iPhoneSimulator"),
("x86_64", "iPhoneSimulator"),
])
b.build(args.out)