Два исполняемых файла в одном комплекте на MAC

Возможно ли иметь два исполняемых файла, каждый со своим собственным plist, для совместного использования одного и того же пакета. Затем зависит от того, как выполняется приложение (параметры), чтобы загрузить соответствующий исполняемый файл.

Представьте себе случай, когда у нас есть основное приложение (исполняемое с пользовательским интерфейсом) и мини-приложение (более короткая версия основного приложения также с собственным пользовательским интерфейсом), а затем в зависимости от параметров, используемых пользователем для запуска приложения, выполняется соответствующий исполняемый файл в одном и том же пучок.

Ваше здоровье


person Community    schedule 13.08.2009    source источник


Ответы (3)


Не совсем так, но вы могли бы добиться чего-то подобного.

У вас может быть главный пакет приложений, который определяет, какую версию кода запускать, а затем иметь несколько пакетов подключаемых модулей (в качестве ресурсов приложения), которые фактически реализуют разные версии. Каждый комплект подключаемых модулей будет иметь свои собственные файлы Info.plist/nib/и т. д.

См. документацию для NSBundle, чтобы узнать, как загружать пакеты и запускать их код.

person Nick Dowell    schedule 17.08.2009
comment
Это способ Mac сделать это, и мое приложение работает так. API-интерфейсы NSBundle предоставляют средства для загрузки в память любого пакета кода, который вам нужен, либо по имени, либо по идентификатору пакета, либо по пути. Мое единственное замечание заключается в том, что подпакеты не помещаются в каталог ресурсов, а в каталог плагинов — для этого есть специальное место в вашем основном пакете приложения. В частности, в Xcode на этапе сборки «Копировать файлы», который копирует пакеты кода вашего плагина в основной пакет, выберите «Плагины» в качестве каталога, в который следует скопировать. - person Motti Shneor; 31.01.2016

Я думаю, что понимаю тебя. Вы хотите разделить plist между двумя исполняемыми файлами. Просто обратитесь к одному и тому же plist в каждом случае: руководство по одному исполняемому plist.

person mcandre    schedule 13.08.2009
comment
Не думайте так. OP хочет, чтобы два независимых исполняемых файла находились в одной папке .app с двумя несвязанными данными plist. - person Stefano Borini; 14.08.2009
comment
Я не хочу использовать один plist для двух исполняемых файлов. Я хочу встроить одно приложение со своим собственным plist и ресурсами в один пакет с другим приложением, а затем в соответствии с предоставленными параметрами запустить соответствующее приложение, которое будет использовать свой собственный plist. Ура Деян - person ; 15.08.2009

Не знаю, возможно ли это. Честно говоря, я сомневаюсь в этом, потому что информация plist также используется для определения значка и так далее, поэтому вы бы запутали Finder, если бы это было возможно (какой значок он должен отображать?). Впрочем, я совсем не специалист по Bundles.

Я даю вам обходной путь. Создайте сценарий демультиплексирования, который запускает соответствующий исполняемый файл в соответствии с вашими параметрами, а затем свяжите сценарий с информацией plist.

person Stefano Borini    schedule 13.08.2009