Приложение Qt для Mac не запускается

Я работаю над приложением, написанным на Qt для среды macOS. Чтобы создать сборку релиза, я настроил внешний сервер.

Я вижу это:

После создания сборки, если я загружаю и устанавливаю приложение в папку «Приложения», при его открытии сначала я вижу всплывающее окно с вопросом, уверен ли я, что открою приложение, загруженное из Интернета (привратник), поэтому я нажимаю «Открыть», а затем приложение умирает.

Приложение работает нормально, если я открываю его из командной строки в терминале.

Проверяя атрибуты файла приложения, я вижу, что он имеет com.apple.quarantine. Если удалить его вручную, с помощью xattr -dr приложение com.apple.quarantine открывается без проблем.

Есть идеи почему не запускается?? Спасибо заранее

Версия для Макоса? Запустили macdeployqt?

Richard Barber 08.04.2019 12:25

MacOS 10.14 Мохаве. macqtdeploy был запущен и завершился без ошибок

RuLoViC 08.04.2019 13:04
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня была такая же проблема с моим программным обеспечением, и я поднял инцидент с разработчиком, который позволил найти основную причину:

При первом запуске с атрибутом карантина Gatekeeper передаст дополнительный аргумент командной строки. Из того, что я мог наблюдать, он имеет форму:

-psn_0_<some sequence of numbers>

например

-psn_0_2445909

QCommandLineParser Qt отклоняет неизвестные аргументы и в этом случае вызывает exit(1);.

Таким образом, необходимо отфильтровать argc / argv и удалить этот фиктивный аргумент перед передачей их в Q{Core,Gui,}Application.

Другие вопросы по теме

Загрузка нескольких файлов не загружает все файлы в Firefox, проблема с щелчком привязки
Как сделать веб-краулер, который анализирует ссылки с названием «заплатка» или «исправить»?
Как устранить ошибку «Сервер не может установить статус после отправки заголовков HTTP» при попытке загрузить файлы через вызов веб-API?
Как сделать файл загружаемым с сервера на внешний интерфейс в проекте Spring Boot, созданный Rest API для загрузки файла, но не работающий должным образом?
Загрузить файл, используя объект res в express.js, а затем отправить ответ как истинный, используя res.json
Ошибка при загрузке файла CRX из Интернет-магазина Chrome: CRX_HEADER_INVALID
Я создал ссылку для скачивания. Но в загруженном файле отсутствует его тип файла (каждый раз загружается обычный файл)
Загрузка и преобразование изображения в base64 приводит к повреждению данных
Как загрузить музыкальный файл в ionic, чтобы никакое другое приложение не могло получить доступ к этому файлу?
Скачать файл с php после входа в систему с php-кодом