A menos que tenga una necesidad explícita de hacerlo de la manera que se muestra en su pregunta, lo mantendría mucho más simple y útil:
tell application "System Events" to set isRunning to exists (processes where name is "Xcode")
if isRunning then set theWindow to (first window of application "Xcode")
De lo contrario, al modificar su código de bloqueo de la siguiente manera obtendrá el mismo resultado que las dos líneas del código anterior:
tell application "System Events"
repeat with theProcess in processes
if not background only of theProcess then
if name of theProcess is "Xcode" then
tell application "Xcode"
set theWindow to first window of application "Xcode"
end tell
end if
end if
end repeat
end tell
Si desea utilizar las dos primeras líneas de código en mi respuesta en una forma más tokenizada, como ejemplo, use:
set appName to "Xcode"
tell application "System Events" to set isRunning to exists (processes where name is appName)
if isRunning then set theWindow to (first window of application appName)
Luego, todo lo que necesita hacer es establecer appName
en la aplicación de destino en la primera línea de código y las dos líneas de código que siguen están como están y no es necesario editarlo para utilizarlo con otros nombres de aplicaciones.