Перейти к содержанию
Fire Monkey от А до Я
  • 0

Распространение ПО для OSX


AndreyS

Вопрос

Доброго всем дня. Столкнулся со следующей проблемой:

Есть приложение для OSX, написанное на FMX (.app, упакованное в dmg). Если пользователь скачивает это приложение с сайта (сторонний сайт, не AppStore), то при запуске OSX говорит, что это приложение нельзя запускать, т. к. неизвестен издатель и пр. Так вот, что конкретно нужно сделать с этим приложением (перед деплоем или уже после), чтобы OSX не ворчала? Просто хочется заранее узнать, до того, как заплатить $99 для подключения к Developer program. Заранее спасибо.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

1. Получить на сайте сертификаты (Developer ID Application и 3rd Party Mac Developer Installer).

2. Установить их на Маке.

3. Прописать их в Delphi (Tools->Options->Provisioning)

4. Сделать Deploy с конфигурацией AppStore

 

После этого на Маке появится [ваше приложение].pkg, на который уже не ругается OSX

Ссылка на комментарий
  • 0

Спасибо. Только тогда у меня возникает следующий вопрос: Сейчас я использую программу DropDMG для создания инсталлятора. Т. е. пользователь запускает .dmg файл, у него открывается лицензионное соглашение, и если он его принимает, то открывается окошко, где ему предлагается перенести файл программы в папку Applications. Каким образом будет происходить процесс инсталляции, если исходный файл будет pkg? И возможно ли в него будет вставить лицензионное соглашение?

Ссылка на комментарий
  • 0

Не знаю как в DropDMG (и зачем DMG). Создайте .pkg (стандартными средствами) и распростроняйте. Некоторое время назад задавался вопромом - PKG или DMG.

Отказался от DMG почитав его спецификацию. Если создавать инсталляшку под Mac - то или pkg или mpkg. DMG - просто представление Вашего приложения в виде образа диска.

Ссылка на комментарий
  • 0

Да я лично ничего против PKG не имею. Меня здесь интересует исключительно вопрос возможности отображать пользователю лицензионное соглашение перед установкой.

Ссылка на комментарий
  • 0

Распространять лучше  ИМХО как .app а не пакет

Подписывайте сертификатом Developer-ID или Developer-Sing, они специально для этого предназначены, ниже по ссылке дока, там есть как распространять приложения в App Store и вне App Store, разница именно в том как подписывается приложение.

К сожалению дока по Xcode 

https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/DistributingApplicationsOutside/DistributingApplicationsOutside.html#//apple_ref/doc/uid/TP40012582-CH12-SW2

Изменено пользователем gerasim_sergey
Ссылка на комментарий
  • 0
1 час назад, gerasim_sergey сказал:

Распространять лучше  ИМХО как .app а не пакет

Как APP я бы не советовал - это все равно как под винду выкладывать голый EXE-шник... а PKG и в стандартную папку Applications установит и Bandle зарегит и права раздаст.

К тому же 

В 20.02.2016в12:35, AndreyS сказал:

... интересует исключительно вопрос возможности отображать пользователю лицензионное соглашение перед установкой...

 

Ссылка на комментарий
  • 0

Продублирую, может, найдётся подходящий совет:

Цитата

Дано: n (от 10 до бесконечности) рабочих станций под управлением MacOS. Работают автономно, интернета в ЛВС нет. На всех р/с установлена самописная программа. Есть также локальный FTP. Задача: обновлять программу с локального FTP. В окружении с Windows это решается элементарно: на FTP по мере публикации обновления выкладываются *.ini и *.exe, и каждый клиент при запуске автоматически проверяет наличие доступного обновления. Есть - значит, скачиваем и обновляем открытый *.exe с заменой, закрываем открытую старую копию, удаляем её и запускаем новую. На всё про всё - несколько секунд даже на стареньком Celeron 1.7GHz. При запуске опять проверяем обновление (но, естественно, в упор не видим его, потому что только что были обновлены), и продолжаем работать. Но что делать в окружении с MacOS? Приложение - вроде как и не исполняемый файл вовсе, а обычный каталог. Ок, можно его за-ZIP-овать, скачать и распаковать. А дальше как быть? Паковать и скачивать в *.dmg? А как его распаковывать в автоматическом режиме? В идеале хочется, чтобы пользователь при наличии обновления для MacOS-приложения вообще ничего не делал: приложение при запуске проверило наличие обновления, скачало его с локального FTP (если оно доступно) и само себя обновило, после процесса обновления удалив бесследно старую копию, и автоматически запустив новую.

В версии на Windows у меня сейчас именно так и реализовано: пользователь при старте приложения видит прогресс-бар загрузки обновления (если оно доступно, конечно), через несколько секунд прогресс-бар загрузки закрывается, и открывается уже обновлённое приложение. И никаких манипуляций со стороны пользователя: так и ему спокойнее, и (что самое главное) мне самому. При этом ни байта не уходит наружу, и не приходит извне ЛВС. Всё происходит внутри периметра, где расположен сервер FTP. Теперь хочется этот же опыт перенести на MacOS. Всё-таки не во всех компаниях на р/с с MacOS есть учётные записи, да и интернет далеко не всем подключен (для доступа к тому же магазину приложений), а если даже и подключен, то всё строго лимитировано.

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...