Я пытаюсь использовать собственный протокол URL для запуска моего приложения Qt (4.7.3).У меня уже есть это работает для Windows, так что теперь пришло время для Mac.
Я уже внес необходимые изменения в Info.plist, и приложение запускается при входе в customrprotocol: // и т. д. в браузере.Проблема в том, что мне нужен какой-то способ передачи всего URL в мое приложение, чтобы я мог обработать аргументы (только в начале приложения).На данном этапе дополнительный аргумент (argv [1]) не найден, как в Windows, несмотря на ввод длинных URL-адресов с моим пользовательским протоколом URL-адресов.
На данный момент я исследовал два возможных способа сделать это:
1) Создайте сценарий apple, который я превращаю в пакет приложений, чей .plist я изменяю для ответа на customprotocol: //, и который просто запускает мое реальное приложение с помощью «do shell script» и передаетURL в качестве аргумента.http://www.macosxautomation.com/applescript/linktrigger/index.html объясняет этот процесс.
Не уверен, что мне нравится эта опция, поскольку у вас на данный момент есть 2 пакета приложений, и я не хочу размещать два разных приложения на чужом Macчтобы это работало.Я экспериментирую с размещением одного комплекта в другом, чтобы увидеть, работает ли он.
2) Обработайте фактический 'geturl' AppleEvent, включив в мой проект target-c, что я попытался сделать, следуя этомупример: Схема URL - Qt и mac .
Моя проблема с этим параметром в том, что я не совсем уверен, как это сделать;Я бросил весь кодjective-c в файл .mm, который я привел в проект с помощью OBJECTIVE_SOURCES + =jectivecstuff.mm, и я обязательно включил инфраструктуру Cocoa в качестве библиотеки.
Все отлично компилируется, но просто не выполняет то, что я хочу (я дополнительно пытаюсь бросить URL-адрес в глобальную переменную в методе handleGetURLEvent связанного примера, чтобы обработать его вдругой модуль).
Я думаю, суть проблемы в том, что я не понимаю цель-c в этом файле .mm и не уверен, нужно ли мне где-то создавать экземпляр этого объекта EventHandler или что-то еще.Я попытался прочитать http://el -tramo.be / blog / Mixing-Cocoa-and-qt , но пример этого парня по интеграции Какао в Qt выглядит гораздо более ориентированным на C ++, чем то, что кажетсянеобходимые вещи найдены в схеме URL - Qt и mac , поэтому я не уверен, как действовать с этой опцией.
Буду очень признателен за некоторые советы и предложения на этом этапе!
Спасибо за чтение.