#c #macos
#c #macos
Вопрос:
У меня есть CLI-приложение, из которого я хочу отправить уведомление в центр уведомлений на macOS. Приложение запрограммировано на C 14
Одно из требований к приложению — только C ! Моя проблема в том, что я не могу найти способ отправки уведомления через ядро или Foundation без использования Obj-C и Obj-C . Так можно ли этого достичь на чистом C ? и если да, то как?
Установка приложений, таких как terminal-notify, не является вариантом, поскольку она будет выполняться на клиентских компьютерах, и я не собираюсь устанавливать приложения за их спиной
Ответ №1:
Вы можете использовать system
для отображения вашего уведомления с помощью AppleScript.
например
system("osascript -e 'display notification "message" with title"title" subtitle "subtitle"'");
Комментарии:
1. Могу ли я как-то сделать, чтобы не отображалось, что уведомление отправляет редактор сценариев? — Это может быть временное решение, хотя фанки: D
2. Я так не думаю, нет. Я думаю, что уведомление просматривает «пакет» приложения, которое его отправило, и использует это для вывода значка / названия приложения / и т.д. Может быть, есть способ «обмануть» это, но я не знаю…
3. Черт возьми, тогда мой руководитель проекта, вероятно, убьет меня, если я его использую :/
4. Я думаю, что вашим единственным другим вариантом будет отправить пакет вместе с вашим приложением, который вы можете использовать для отправки уведомлений (на этом этапе вы могли бы также использовать terminal-notifier). Это не обязательно «устанавливать» точно, но в зависимости от того, как вы отправляете свое приложение, это может быть для вас вариантом, а может и не быть.
5. это будет невозможно : (