NSRunningApplication terminate() возвращает false
Создание приложения macOS, которое получает активный в данный момент NSRunningApplication
,
public func findActiveApp() -> NSRunningApplication? {
for app in NSWorkspace.shared.runningApplications {
if app.isActive {
return app
}
}
return nil
}
После этого я просто пытаюсь завершить приложение, используя
let app = findActiveApp()
app.terminate()
Он не завершает приложение и возвращает false (это относится к любому приложению, а не только к конкретному).
Я также пытался app.forceTerminate()
,
Обратите внимание, что я уже добавил свое приложение в список специальных возможностей в системных настройках.
Есть ли у вас какие-либо подсказки, что может быть причиной этого?
Спасибо!
1 ответ
Для приложения с изолированным программным обеспечением вам нужно добавить разрешение com.apple.security.tegoti-exception.apple-events, например:
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
<string>com.my.company.AppId</string>
</array>
Обратите внимание, что он может быть отклонен из представления в магазине приложений, если у вас нет хорошего объяснения необходимости предоставления права.