Как создать собственный установщик Mac OS X (на платформе не-Mac)?

Правовая оговорка : ответ ниже описывает мой опыт, отлаживая рабочие потоки, но не используя VS Code, который был исходным вопросом. Я думал, что будет полезно знать альтернативные опции так или иначе, так как кажется, что с сегодняшнего дня единственная опция отладить рабочие потоки является Webstorm.

опция

Webstorm возможно отладить использование рабочих потоков Webstorm: https://blog.jetbrains.com/webstorm/2018/10/webstorm-2018-3-eap-6 / я попробовал его, и это работает действительно хорошо (как зарегистрировано в ссылку выше).

инструменты Chrome

я попытался отладить рабочие потоки с помощью хрома dev инструменты, после того же подхода, в котором Вы отладили бы веб-рабочих, но он не работал. При отладке веб-рабочих они обнаруживаются как это в хромовых инструментах

enter image description here

, К сожалению, рабочие потоки не делают. Когда рабочий поток работает, отладчик не показывает его, и не позволяет Вам провести точки останова, ни ступает через код. Я подозреваю, что это может быть из-за этого: https://github.com/nodejs/node/issues/26609

VS Code

VSC не имеет функции для отладки рабочих потоков. Интересно, VCS также не имеет функции для отладки Рабочих по сети. Это - явное решение с их стороны: https://github.com/Microsoft/vscode-chrome-debug/issues/675

6
задан michelemarcon 12 November 2008 в 10:08
поделиться

5 ответов

Как другие уже указали, Вы действительно берете твердое решение этой проблемы, и Ваши пользователи проклянут Ваше имя его, если у Вас не будет действительно серьезного основания сделать так. Это верно, что определенные типы приложений потребуют установщиков для MAC OSX. Они обычно включают:

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

Хорошо, так, чтобы последняя точка немного саркастична, но Вы получаете мой дрейф здесь?:) В основном, если бы Вы пишете нормальное, приложение конечного пользователя, необходимо распределить его нормальным способом, которым ожидали бы пользователи Mac, который является файлом DMG, содержащим пакет приложения. Или если Вы хотите быть действительно необычными, прикрепить псевдоним к папке "Applications" в DMG, чтобы помочь пользователю перетащить программу туда. Если Вы не пишете что-то, что должно установить себя в систему, а не просто выполняется системой, нет никакой причины использовать установщик здесь. Кроме того, имейте в виду, что это - OSX, который уже содержит полностью функционирующий Java JRE, таким образом, Вы не должны волноваться об упаковке JRE в установщике или чем-либо как этот.

Теперь, когда Вас правильно ругали за задавание этого вопроса, я отвечу на это учитывая, что Ваше программное обеспечение падает в одной из категорий выше. Действительно, Ваш лучший выбор состоял бы в том, чтобы пойти с коммерческим решением, таким как установщик ТИСКОВ (который, снова, я могу заявить уверенно, что подавляющее большинство пользователей Mac отскочит в терроре при установке продукта, сделанного с этим инструментом), который позволяет Вам делать точно, что Вы ищете здесь - в основном, для создания межплатформенного установщика, который создает для различных платформ, которые Вы хотите поддерживать из единственного файла установщика.

Снова, тем не менее, Ваш лучший выбор здесь состоит в том, чтобы сделать, какие пользователи той платформы являются самыми довольными (который является, почему все ответы на Ваш вопрос убеждают Вас не сделать установщик). Это означает, однако, если действительно необходимо сделать установщик, необходимо использовать немежплатформенную платформу; пользователи Windows будут чувствовать больше всего дома при дарившем стандартный установщик MSI, и пользователи Mac будут чувствовать больше всего дома с Установщиком Apple pkg. Программа PackageMaker известно ограничена, тем не менее, поэтому, если Вы должны, необходимо использовать айсберг вместо этого. Это будет означать немного больше maintainance для Вас, так как необходимо будет склоняться, после два (или больше) отдельные установщики, но если программное обеспечение действительно так сложно, чтобы потребовать это, необходимо быть готовы принести жертву для комфорта пользователей.

2
ответ дан 16 December 2019 в 21:47
поделиться

Трудно создать .dmg в Windows, но, конечно, возможно создать .app файловую структуру, которую можно затем архивировать, как другие прокомментировали, упомянули. Существуют времена, когда регулярный .pkg не сократит его, и Вы хотите обеспечить диалоговые окна, проверки перед установкой, и т.д. Можно сделать это с BitRock installbuilder, можно создать установщики для Mac, Linux, Windows, Солярис с каждой из других платформ.

2
ответ дан 16 December 2019 в 21:47
поделиться

Так, несколько быстрых вопросов.

Во-первых, почему Вы хотите установщик? Большинство пользователей Mac предпочитает приложения, которые являются, просто перетаскивают установленный. Если Вы не пишете Mac OS X определенный код, трудно предположить, что необходимо поместить биты в специальные места, как Поддержка приложений или LaunchDaemons. Принятие всего, что Вы имеете просто, входит в одну папку почему беспокойство с установщиком вообще?

Во-вторых, почему это была бы проблема для создания установщика Mac на Mac? Конечно, у Вас есть макинтош вокруг для тестирования приложения (Вы только вслепую поставляете его для Mac, не тестируя его на Mac, правильно?).

Хорошо Однако принятие Вас все еще имеет серьезное основание на самом деле создать это на ПК, существуют некоторые биты, которые не будут легкими. В основном .pkg является набором текстовых сценариев, локализаций, архивный файл (Archive.pax.gz) и перечень материалов (Archive.bom).

Принятие не много изменяется между сборками, можно сделать установщик на Mac, и затем просто восстановить BOM и pax.gz, заменить их в существующий .pkg и обработать несколько частей в пакетном режиме метаданных. Мир должен быть достаточно легок иметь дело с (мир является стандартным форматом архива), но файл BOM может оказаться немного более хитрым, так как я не полагаю, что он публично документируется, и я сомневаюсь, что инструменты для создания их (mkbom) являются частью Дарвина (не открытый исходный код). Таким образом, Вы испытываете необходимость, чтобы понять это и записать инструмент пользователя для создания файла BOM.

Другими словами, это, вероятно, будет большим объемом работы.

1
ответ дан 16 December 2019 в 21:47
поделиться

Поместите все в один файл JAR, добавьте его к ZIP.Готово.

Но серьезно, Вы желаете распределить свое приложение пользователям Macintosh, не тестируя его сначала? На какой планете Вы!?

-1
ответ дан 16 December 2019 в 21:47
поделиться

Обычный способ установить приложение на Mac состоит в том, чтобы перетащить приложение к папке приложения. Большинство программ стало DMG, содержащим приложение и символьную ссылку на папку приложения. Почему Вы хотели бы это какой-либо другой путь? Необходимо думать, что Mac создает большое приложение Mac! Стиль очень важен, специально для пользователей Mac.

0
ответ дан 16 December 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: