Scripting Xcode: выберите пункт меню в AppleScript без активации окна?

У меня есть простой скрипт для программного запуска проекта iOS через XCode:

on run project_loc tell application "Xcode" open project_loc activate end tell tell application "System Events" tell application process "Xcode" click menu item "Run" of menu 1 of menu bar item "Product" of menu bar 1 end tell end tell end run 

Это хорошо работает, за исключением того, что он переключает фокус на Xcode, что не идеально, потому что я пытаюсь использовать это как часть схемы, которая автоматически перекомпилирует и перезагружает в ответ на любое изменение в соответствующих файлах. Есть ли способ сделать это, не обращая внимания на окно Xcode?

One Solution collect form web for “Scripting Xcode: выберите пункт меню в AppleScript без активации окна?”

Вы не можете использовать GUI Scripting, чтобы щелкнуть элемент меню, не переключаясь на приложение, больше, чем вы можете щелкнуть его самостоятельно, не делая этого – панель меню приложения доступна только в том случае, если она имеет фокус (или, по крайней мере, последнее приложение иметь фокус – ему не обязательно нужно сфокусированное окно). Тем не менее, вы можете облегчить перебои в работе коммутатора, переключившись на свое ранее настроенное приложение внутри вашего скрипта:

 on run tell application "System Events" to set focusedAppID to bundle identifier of first application process whose frontmost is true <your code here> tell application id focusedAppID to activate end run 

Но … Xcode сам является скриптовым приложением. Если все, что вам нужно, это проект для сборки, почему бы не использовать

 tell application "Xcode" to build <target / project> 

который избавит вас от червей GUI Scripting – посмотрите на словарь Xcode AppleScript (не добавленный по умолчанию – просто перетащите Xcode.app в окно библиотеки в редакторе AppleScript).

  • Xamarin Port XCode для CSharp
  • Ошибка Xcode 7 при отладке
  • Как Xcode 7 Stack Views будет обратно совместим с iOS 8 и iOS 7?
  • ERROR ITMS-90086: Отсутствует 64-разрядная поддержка. Подача с ошибкой при отправке приложения в iTunes
  • Xcode: невозможно создать дубликат символа - ld: 305 дубликатов символов для архитектуры arm64
  • Как я могу найти утечки памяти в React Native iOS?
  • secTaskDiagnoseEntitlements MISSING права на связывание ключей: не сохранена задачаRef найдена
  • Контейнер UIStoryboard присоединяет IBOutlet к Parent ViewController
  • Как установить метку доступности на изображении, которое нарисовано с помощью Core Graphics?
  • Невозможно запустить xctests с помощью @import
  • Размеры и название изображения запуска для iPhone-приложения в iOS8
  • Interesting Posts

    Пробелы nowrap и float оставили «ошибку» в мобильном Safari?

    Возврат CGFloat.leastNormalMagnitude для заголовка раздела UITableView вызывает сбой

    ObjC Plist файл читается быстрее, чем JSON?

    Получить пользовательский агент по умолчанию для системы iOS для HTTP-запросов

    Как добавить карту входа в CredentialsProvider?

    Плитка UIImageView с использованием resizeableImageWithCapInsets: resizingMode?

    Работа с библиотеками в Xcode (т.е. ImageMagick, AdMob) включена в проект или ссылку?

    CATextLayer / NSAttributedString – определение точного размера отображаемого текста

    Поддержка нескольких версий IOS SDK при изменении значения недействительности протокола

    Открытый источник для не-ARC (автоматический подсчет ссылок) и пользователей ARC

    загружать изображения с помощью SDWebImage в порядке

    Быстрая отправка в переопределенные методы в расширениях подкласса

    iOS Autolayout Вертикально равное пространство для заполнения родительского представления

    Рисование нескольких строк с использованием диаграмм iOS

    Разбор непрерывного потока JSON в iOS

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.