Когда OpenCV.framework был собран, он был настроен на использование пути установки /Users/david/Library/Frameworks/
.
Поскольку вы хотите использовать библиотеку в качестве частного фреймворка (установленного в оболочке приложения на ClipSplitter.app/Contents/Frameworks/OpenCV.framework
), вам необходимо изменить путь установки. Это можно легко сделать с помощью терминала следующим образом:
$ install_name_tool -id @executable_path/../Frameworks/OpenCV.framework/OpenCV <your_path>/OpenCV.framework/OpenCV
Конечно, вы должны скорректировать путь последнего аргумента.
Теперь, когда вы связываете ваше приложение, ваша измененная платформа сообщает компоновщику, что dyld должен искать OpenCV.framework в оболочке приложения вашего приложения (в каталоге ClipSplitter.app/Contents/Frameworks).
Теперь вам нужно скопировать OpenCV.framework в оболочку вашего приложения. Вы можете сделать это как часть процесса сборки, добавив фазу сборки файлов копирования: щелкните правой кнопкой мыши по своей цели, выберите Add-> New Build Phase-> New Copy Files Build Phase. Выберите «Frameworks» во всплывающем окне «Destination» и закройте диалоговое окно.
Ваша цель теперь будет содержать новую фазу, к которой вы можете добавить OpenCV.framework, перетаскивая значок из Навигатора проектов в левой части окна XCode. Обратите внимание, что XCode не позволит вам добавить папку в фазу «Копирование файлов» с помощью кнопки «+», поэтому для копирования инфраструктуры вам придется ее перетащить и отпустить.