Ответ 1
Когда сборка 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. Выберите "Рамки" из раскрывающегося списка "Место назначения" и закройте диалоговое окно.
Теперь ваша цель будет содержать новую фазу, к которой вы можете добавить OpenCV.framework, перетащив значок из Навигатора проектов в левой части окна Xcode. Обратите внимание, что Xcode не позволит вам добавить папку на фазу "Копировать файлы", используя кнопку "+", поэтому, чтобы скопировать фрейм, вам придется перетащить и отбросить его.