Swift - Как я могу получить объект NSDockTile другого приложения в Swift?
Как я могу получить объект NSDockTile другого приложения в Swift?
Я думал, что могу получить массив NSRunningApplications и получить доступ к NSDockTile оттуда, но я могу получить только NSDockTile от NSApplication. Поэтому я предполагаю другой, более лучший вопрос, есть ли способ привести NSRunningApplication к NSApplication или создать объект NSApplication из BundleIdentifier другого приложения или что-то еще?
Я заранее прошу прощения за любую глупость, так как я новичок в приложениях Swift и Cocoa.
1 ответ
Я сомневаюсь, что есть какой-то (санкционированный) способ сделать это. Клетки стыковки других приложений принадлежат этим приложениям, и я не могу себе представить причину, по которой Apple предоставит средства для доступа к нему из другого приложения, учитывая очевидный потенциал злоупотреблений.
Также, NSApplication
а также NSRunningApplication
это совершенно разные объекты. Между этими двумя понятиями нет никакой связи, и попытка привести одну ссылку на другой класс наверняка закончится душевной болью.
NSApplication
это, по сути, ваше приложение. Это основа для приложения, которое выполняется и содержит методы для запуска и управления приложением, отправки событий, создания модальных диалоговых окон и так далее.
NSRunningApplication
это легкий объект, который предоставляет полезную информацию о другом приложении, которое работает рядом с вашим. Но он никоим образом не связан напрямую с другим приложением и не может контролировать (кроме случаев, предусмотренных).