1 votos

Verificador de iMessage

Estoy tratando de hacer un número de corrector en imessage. Todos sabemos que no hay tal api, así que estoy tratando de utilizar las herramientas a la mano. El principal tuvo en el pasado con los temas en este sitio sobre este tema.

Hice un bucle en el que se inserta un número en una cadena, y por el color de la cantidad (azul - registrado, rojo - desaparecidos), el uso de la utilidad estándar Digital de Colores Medidor determina el color del número. Entonces, dependiendo del color, se añade una variable con un número de la inicial del archivo txt a la nueva, o se inicia la secuencia de comandos desde el principio. Al menos debería ser.

Pero algo va mal. Comprueba el color, inserta números, todo está muy bien, pero al parecer el malo de la condición, al parecer, el mal tipos de datos. Inserta números diferentes en la dispersión. Algunos de inserción, algunas no, independientemente de la condición inicial. ¿Cuál podría ser la razón? ¿Dónde está el error? Y es posible hacerlo de modo que después de un cierto número de verificados los números, él mismo se eliminan los cuadros de diálogo abiertos con estos números?

repeat with n in client
    activate application "Messages"
    repeat
        tell application "System Events" to tell process "Messages"
            key code 45 using command down
            keystroke n
            delay 1
            key code 36
            tell application "Digital Color Meter" to activate
            tell application "System Events"
                tell process "Digital Color Meter"
                    click menu item 1 of menu 1 of menu bar item 4 of menu bar 1
                end tell
                do shell script "/usr/bin/python -c \"import objc;bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework');objc.loadBundleFunctions(bndl, globals(), [('CGWarpMouseCursorPosition', 'v{CGPoint=dd}')]);CGWarpMouseCursorPosition((" & 1002 & "," & 222 & "));\""
                set rgbColors to words of (the clipboard)
            end tell
            if rgbColors is equal to {"77", "39", "38"} then
                exit repeat
            else
                do shell script "echo " & quoted form of n & " >> /Users/oneone/Desktop/base2.txt"
            end if
        end tell
    end repeat
end repeat

1voto

Oskar Puntos 1242

En vez de adivinar lo que AppleScript está haciendo, han considerado que la ejecución en un depurador para conocer las variables mientras se ejecuta y se cierra con un error?

Algunas de las cosas que hacen que sea difícil hacer una mejor respuesta son las partes donde dices:

El principal tuvo en el pasado con los temas en este sitio sobre este tema.

Y

pero al parecer el malo de la condición, al parecer, el mal tipos de datos

Y sobre todo

Algunos de inserción, algunas no, independientemente de la condición inicial. ¿Cuál podría ser la razón? ¿Dónde está el error? Y es posible hacerlo de modo que después de un cierto número de verificados los números, él mismo se eliminan los cuadros de diálogo abiertos con estos números?

Ya que no pones los valores de entrada o compartir los valores de salida eran realmente adivinando incluso más que tú. Yo me metía en el depurador de modo que usted puede ver el flujo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X