Какой самый чистый способ установить переменную среды DYLD_FRAMEWORK_PATH для сборки выпуска? - PullRequest
9 голосов
/ 07 февраля 2012

У меня есть пользовательские фреймворки в комплекте приложений для WebKit, WebCore и JavaScriptCore. Я хотел бы, чтобы все другие фреймворки, которые зависят от системных версий WebKit, WebCore или JavaScriptCore, также использовали мои собственные версии. Например, моя пользовательская версия Webkit загружает частные системные платформы, которые, в свою очередь, зависят от системной версии WebKit. Это означает, что загружается как мой WebKit, так и системный WebKit, и обычно вскоре происходит сбой.

Как я понимаю, это нужно сделать, это установить переменную окружения DYLD_FRAMEWORK_PATH до того, как ваш пакет приложения начнет выполняться (Порядок поиска для загрузки платформ можно найти здесь: http://code.google.com/p/macdependency/wiki/SearchPaths). Вы можете установить переменные окружения в коде с помощью setenv, но он не вступит в силу для запущенного в данный момент процесса. Мне бы пришлось заново запустить процесс, чтобы он вступил в силу. Я бы тоже хотел этого избежать.

Итак, мой вопрос, каков наилучший способ установить DYLD_FRAMEWORK_PATH перед выполнением пакета моего приложения? Это должно работать и в комплекте приложений. Есть ли способ запустить скрипт всякий раз, когда кто-то нажимает на мой пакет приложений до запуска исполняемого файла. Или есть другие предложения?

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 08 апреля 2012

Джефф Вольски имеет правильную идею , обращаясь непосредственно к документации Apple по этому вопросу. Этот поток также предоставляет превосходные советы о том, как добиться успеха в XCode, включая угловые случаи, связанные с альтернативными методами спецификации (например, с использованием ~/.bash_profile непосредственно для вашего пользователя).

Моя причина для участия в этом - вы также попросили сценарий, который мог бы вам помочь (и у провайдера вознаграждений, похоже, такая же проблема). Оказывается, Webkit ссылается на такой скрипт в своей документации , которую вы можете выбрать помимо применимого исходного кода Webkit . Это должно дать вам дополнительное руководство о том, как, по словам разработчиков, вы должны делать это правильно.

Желаем удачи в ваших проектах.

1 голос
/ 07 апреля 2012

Я бы порекомендовал environment.plist или клавишу LSEnvironment в info.plist.Проверьте ссылку ниже.

https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html

0 голосов
/ 06 января 2015

WebKit в настоящее время имеет скрипт для этого, который называется run-webkit-app.Смотри http://trac.webkit.org/browser/trunk/Tools/Scripts/run-webkit-app

...