Попросите XCode установить @executable_path, где автоматически искать dylib

Я создаю свое приложение OSX, используя XCode 5.1.1, и ссылаюсь на .dylib. Я настроил Этапы сборки -> Копировать файлы, чтобы скопировать .dylib в место назначения Frameworks.

Когда я запускаю из XCode, он работает нормально, но когда я дважды запускаю пакет .app из Finder, он жалуется, что не может найти dylib, который XCode покорно поместил в Contents/Frameworks, что можно легко проверить в Finder.

otool -L в моем исполняемом файле показывает, что он ищет

@loader_path/libXYZ.dylib (compatibility version 1.0.0, current version 1.0.0)

Я могу легко обойти это, используя install_name_tool в моем исполняемом файле следующим образом:

install_name_tool -change @loader_path/libXYZ.dylib @executable_path/../Frameworks/libXYZ.dylib  my_exec

но это изменение, очевидно, теряется при каждой перестройке. Как я могу сказать XCode настроить @executable_path../Frameworks в первую очередь?


person Philipp    schedule 16.06.2014    source источник


Ответы (1)


Просто добавьте фазу запуска сценария к фазам сборки.

person uchuugaka    schedule 16.06.2014
comment
Как мне перейти в папку, где находится приложение? - person Lucas van Dongen; 29.09.2014