Как заставить приложение OS X Cocoa загружать пользовательские фреймворки из папки, в которой оно находится?

По умолчанию все фреймворки загружаются из ~/Library/Frameworks, и это нормально для целей разработки, однако для целей развертывания мне нужно найти способ загрузить все мои связанные пользовательские фреймворки из папки с приложением. папке или где-то в папке .app... Подскажите пожалуйста, как мне это сделать? Можно ли решить эту проблему, не загружая фреймворки вручную?

XCode v4 имеет параметр местоположение развертывания, но, похоже, он не используется (я копирую скомпилированные фреймворки в папку /Frameworks с помощью скрипта на этапе сборки).


person Ryan    schedule 10.08.2011    source источник


Ответы (1)


Я не совсем уверен, чего вы хотите, но если вы просто хотите связать фреймворк/библиотеку в любом месте, дважды щелкните цель в xcode4, нажмите плюс в "Link Binary С библиотеками» и выберите «добавить другое...». Если ссылки недостаточно, и вам нужно скопировать содержимое в папку .app, просто добавьте эту библиотеку в фазу «Копировать ресурс пакета». (или добавьте для этого дополнительную фазу копирования)

person moka    schedule 10.08.2011
comment
Простите за неясность... Видите ли, мои фреймворки уже связаны с моим приложением Cocoa и копируются в папку /Frameworks, потому что приложения Cocoa загружают их из этой дурацкой папки... Я не хочу, чтобы мой пользователям устанавливать мое приложение таким образом (по многим причинам), и поэтому мне нужно найти способ заставить мое приложение Cocoa загружать связанные фреймворки из той же папки, в которой оно находится (стиль Windows — загрузка dll из той же папки, в которой находится программа в.). И я понятия не имею, как это сделать... - person Ryan; 10.08.2011
comment
ну, я почти уверен, что вам просто нужно скопировать фреймворк в пакет .app, как описано выше. это должно дать вам желаемое поведение (т. е. нет необходимости устанавливать фреймворк в папку /Frameworks. Перейдите по этой ссылке developer.apple.com/library/mac/#documentation/MacOSX/ для подробного объяснения см.: Встраивание частной платформы в ваше приложение Пучок - person moka; 10.08.2011
comment
Спасибо, мока, эта статья как раз то, что я искал! - person Ryan; 10.08.2011