gpt4 book ai didi

ios - 脚本 Xcode : click menu item in AppleScript without activating window?

转载 作者:可可西里 更新时间:2023-11-01 05:42:15 25 4
gpt4 key购买 nike

我有一个简单的脚本,用于通过 XCode 以编程方式启动 iOS 项目:

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 窗口的情况下完成此操作?

最佳答案

您不能在不切换到应用程序的情况下使用 GUI 脚本来单击菜单项,就像您不能在不切换到应用程序的情况下自己单击它一样——应用程序的菜单栏只有在它具有焦点时才可用(或者,至少,是最后一个具有焦点的应用程序——它不一定需要焦点窗口)。但是,您可以通过在脚本中切换回之前聚焦的应用来减轻切换的破坏性:

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 脚本的困扰 – 查看 Xcode AppleScript 字典(默认情况下未添加 – 只需将 Xcode.app 拖到 AppleScript 编辑器中的库窗口即可)。

关于ios - 脚本 Xcode : click menu item in AppleScript without activating window?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10509863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com