Я пытаюсь управлять окнами Safari из своего приложения.
Я использую этот код для получения списка окон из Safari через ScriptingBridge:
SafariApplication *saf = [SBApplication ApplicationWithProcessIdentifier:myPid];
SBElementArray *safariWindows = [saf windows];
Пока все работает нормально.Я также могу управлять порядком окон со свойством index что-то вроде этого:
SafariWindow *firstSafWin = [saf.windows objectAtIndex:0];
[firstSafWin setIndex: 1];
Теперь я пытаюсь активировать Safari с помощью:
NSRunningApplication *runApp = [NSRunningApplication runningApplicationWithProcessIdentifier: myPid];
[runApp activateWithOptions: NSApplicationActivateAllWindows];
Итак, возникает моя проблема: Safari активируется, и окно, которое я хотел, теперь находится сверху, , но не получает фокус (или "mainWindow").Таким образом, фокус ввода пользователя по-прежнему находится в окне Safari, в котором он находился до того, как я попытался изменить порядок окон Safari.
Есть ли способ в OSX, чтобы получить фокус в окне Safari Iхотите?