Запуск сценария при запуске пакета Mac - PullRequest
0 голосов
/ 12 марта 2009

У меня есть приложение Mac OS X в стандартном формате .app, и мне было интересно, как проще всего выполнить маленький скрипт перед выполнением основной программы. Это возможно?

Edit:

Я хочу запустить скрипт только один раз, поэтому, если я смогу установить флаг или что-то еще после его запуска, это было бы здорово!

Второе редактирование:

У меня нет проекта XCode, поэтому я не могу ничего перекомпилировать, поэтому я ищу другой метод.

Ответы [ 2 ]

3 голосов
/ 12 марта 2009

Две возможности:

  • Если у вас есть доступ к проекту Xcode, вы можете поместить свой скрипт в ресурсы своего приложения, получить его путь с помощью:

    [[NSBundle mainBundle] pathForResource:@"preamble" ofType:@"sh"]
    

    и вызовите его простым вызовом system() в начале вашей main() функции.

  • Если у вас нет доступа к проекту Xcode, я не уверен, возможно ли это. Я хотел бы попробовать что-то вроде замены фактического исполняемого файла вашим скриптом и добавить способ вызова исполняемого файла в конце скрипта командой exec.

0 голосов
/ 12 марта 2009

Если приложение относительно простое, вы можете просто упаковать его в другой пакет. Вы можете написать небольшую программу для запуска сценария и затем запустить их исполняемый файл, который вы хотите включить в свой пакет в качестве ресурса.

Конечно, вам также необходимо скопировать все исходные ресурсы из приложения.

Могу ли я спросить, какую программу вы пытаетесь запустить таким образом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...