Swift - Как я могу получить объект NSDockTile другого приложения в Swift?

Как я могу получить объект NSDockTile другого приложения в Swift?

Я думал, что могу получить массив NSRunningApplications и получить доступ к NSDockTile оттуда, но я могу получить только NSDockTile от NSApplication. Поэтому я предполагаю другой, более лучший вопрос, есть ли способ привести NSRunningApplication к NSApplication или создать объект NSApplication из BundleIdentifier другого приложения или что-то еще?

Я заранее прошу прощения за любую глупость, так как я новичок в приложениях Swift и Cocoa.

1 ответ

Решение

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

Также, NSApplication а также NSRunningApplication это совершенно разные объекты. Между этими двумя понятиями нет никакой связи, и попытка привести одну ссылку на другой класс наверняка закончится душевной болью.

NSApplication это, по сути, ваше приложение. Это основа для приложения, которое выполняется и содержит методы для запуска и управления приложением, отправки событий, создания модальных диалоговых окон и так далее.

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

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