Конечно, я провел исследование, прежде чем опубликовать свой вопрос.
Я посмотрел на
Как "добавить существующие фреймворки" в Xcode 4?
Добавление фреймворкав Xcode 4
Добавление платформы OpenGL в Xcode 4
XCode 4 добавление dylib
, но все становится неправильно.
Моя цель: Добавить (CorePlot) каркас в проект XCode Mac (не iPhone)
Моя среда: OSX Lion 10.7, SDK Lion, XCode 4.1 (4B110)
Мои шаги:
- Открыл XCode, создал новый проект
- Скачал CorePlot в каталог моей библиотеки (например, ~ / Applications / LIBS)
- Открытв настройках проекта через (+) открытое диалоговое окно для добавления каркаса
- Добавить существующий каркас (+ при необходимости скопировать файлы в группу dest.)
- Выбранный каталог был ~ / Applications / LIBS / CorePlot / Binaries/MacOS/CorePlot.framework/
- DnD CorePlot для Frameworks Group
- Добавлен CorePlot для
Build Phases > Link Binary with Libraries
и запустил мой проект
, что я получил это сообщение об ошибке:
dyld: Library not loaded: @loader_path/../Frameworks/CorePlot.framework/Versions/A/CorePlot
Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/metralight-hjuvuwlhgohrtdeepvcymnsaxomc/Build/Products/Debug/metralight.app/Contents/MacOS/metralight
Reason: image not found
И на самом деле, когда я заглянул в данный каталог (приложениеbundle) не было каталога Frameworks
, и поэтому связывание не может быть успешным
Я искал еще один и обнаружил, что могу создать Build Rule
и скопировать файлы в окончательный двоичный пакет с помощью некоторого сценария, ноэто единственный способ, как это сделать?
Разве нет возможности просто включить / выключить копирование связанных платформ в окончательный комплект?
Обратите внимание, что целевой объект CorePlot '.framework' имеет Dynamic Library Install Name
установлен на @loader_path/../Frameworks/CorePlot.framework/Versions/A/CorePlot
, поэтому он выглядит в нужном месте в окончательном бинарном пакете