Jump to content
  • 0
Puimoisson04

Envoyer des événements Apple

Question

Bonjour,
Une base d'illustrations. Une rubrique conteneur affiche l'illustration (via sa référence), d'autres rubriques avec le nom et le chemin du fichier image.
Un script lance un AppleScript qui demande l'ouverture du fichier image dans Photoshop et y renseigne divers IPTC (commune, copyright…) avec des données de la base.
Ça roule en FMP15.
Je viens de passer à FMP18 (seule évolution, pas de mise à jour Apple ou Photoshop) et j'ai l'alerte suivante "Non autorisé à envoyer des événements Apple à Photoshop Elements Editor" suivi d'un code erreur inconnu -1753.

Je suppose un problème avec un paramètre de sécurité, mais je ne trouve rien dans l'aide et la gestion de la sécurité.
Si quelqu'un a une idée, je suis preneur, merci.

Le script :

Definir variable [$IPTC ; valeur  :
tell application "Adobe Photoshop Elements Editor"

   activate
   open file "Macintosh HD:Users:christophebonnet:Pictures:Rangement:2009:0928:IMG_3071.JPG"

   tell current document         
      tell info             
      set author to "Christophe Bonnet"             
      set city to "Puimoisson"             
      set province or state to "Alpes-de-Haute-Provence"             
      set copyright notice to "Christophe Bonnet"             
      set copyrighted to copyrighted work             
      set country to "France"             
      set title to "Amaranthus deflexus L., 1771"         
      end tell         
   save     
   end tell
end tell

Executer AppeScript [$IPTC]

et le message d'alerte.

Alerte.jpg.75d65deea88819428aa5a8729853087b.jpg

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Hello Christophe,

Que se passe-t-il si tu ajoutes l'app FM18 dans /Préférences Système…/Sécurité et Confidentialité…/Confidentialité -> Dévérouiller Cadenas -> Sélection "Accessibilté" -> ajouter App

(High Sierra ≠ Mojave )

801267462_Capturedecran2019-08-24a10_37_04.png.22f7c23d9317c210bde0ed8764851a52.png

Share this post


Link to post
Share on other sites
  • 0

Salut Clément,

Ben non… ça ne change rien.
C'est bien l'AppleScript qui pose un pb, j'en ai deux autres scriptés dans cette base qui ne marchent plus non plus avec le même message.
Suivant l'aide de Exécuter AppleScript, je suis allé cocher fmextscriptacces pour "Autoriser Apple Event et ActiveX à exécuter des opérations FileMaker" dans les privilèges étendus, mais rien non plus…

Share this post


Link to post
Share on other sites
  • 0

Mais c'est la bonne piste. Ça se passe dans Automatisation. Me reste plus qu'à trouver comment modifier cette liste des applications autorisées à interagir avec d'autres…

Capture.jpg

Share this post


Link to post
Share on other sites
  • 0

Ça se passe dans /Library/Application support/com.apple/TCC.db

Et /Users/nomuser/Library/Application support/com.apple/TCC.db 

 

Je cherche aussi... dans la table access il y un champ sreg et je ne sais pas qu’est ce qu’il doit y avoir dedans pour que cela fonctionne bien, en tout cas j ai mis les memes lignes récupérées depuis un autre ordi où cela fonctionne et je les mise dans l ordi qui a perdu « les droits » il s affiche bien dans automation mais ça ne fonctionne pas l hypothese est donc que la valeur dans le champs mentionné ci dessus n est pas la bonne

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

peux-tu stp poster  un exemple de ce que tu as copié dans un de ces champ "csreq*" (il y en fait deux champs de type BLOB , un pour l'app. émettrice et l'autre pour l'app. réceptrice/à automatiser).

Ces deux BLOB (Binary Large OBject) retiennent la valeur de la conversion hexadécimale de la donnée binaire des exigences (requirement) du champ "designated" du code signé.

*code signed requirement

Share this post


Link to post
Share on other sites
  • 0

Oh merci pour ces infos déjà !

Voici un exemple de la ligne avec systems events comme autorisation

 

 

168 B

00000000  FA DE 0C 00 00 00 00 A8 00 00 00 01 00 00 00 06    úÞ.....¨........

00000010  00 00 00 02 00 00 00 1A 63 6F 6D 2E 66 69 6C 65    ........com.file

00000020  6D 61 6B 65 72 2E 63 6C 69 65 6E 74 2E 70 72 6F    maker.client.pro

00000030  31 32 00 00 00 00 00 06 00 00 00 0F 00 00 00 06    12..............

00000040  00 00 00 0E 00 00 00 01 00 00 00 0A 2A 86 48 86    ............*.H.

00000050  F7 63 64 06 02 06 00 00 00 00 00 00 00 00 00 06    ÷cd.............

00000060  00 00 00 0E 00 00 00 00 00 00 00 0A 2A 86 48 86    ............*.H.

00000070  F7 63 64 06 01 0D 00 00 00 00 00 00 00 00 00 0B    ÷cd.............

00000080  00 00 00 00 00 00 00 0A 73 75 62 6A 65 63 74 2E    ........subject.

00000090  4F 55 00 00 00 00 00 01 00 00 00 0A 4A 36 4B 34    OU..........J6K4

000000A0  54 37 36 55 37 57 00 00                            T76U7W..

->

FADE0C00000000A80000000100000006000000020000001A636F6D2E66696C656D616B65722E636C69656E742E70726F31320000000000060000000F000000060000000E000000010000000A2A864886F76364060206000000000000000000060000000E000000000000000A2A864886F7636406010D0000000000000000000B000000000000000A7375626A6563742E4F550000000000010000000A4A364B345437365537570000

 

 

 

52 B

00000000  FA DE 0C 00 00 00 00 34 00 00 00 01 00 00 00 06    úÞ.....4........

00000010  00 00 00 02 00 00 00 16 63 6F 6D 2E 61 70 70 6C    ........com.appl

00000020  65 2E 73 79 73 74 65 6D 65 76 65 6E 74 73 00 00    e.systemevents..

00000030  00 00 00 03   

 

->

FADE0C000000002C0000000100000006000000020000000E636F6D2E6170706C652E6D61696C000000000003

Share this post


Link to post
Share on other sites
  • 0

… GLURPSSSSS !!!!

T'as interrogé la base TCC.db avec quoi ??? Un éditeur hex ??? SQLITE3 est quand même l'un des outils les plus approprié !

Ce que je lis  du premier "csreg"  (FADE0C00000000A800000001…70000)

identifier "com.filemaker.client.pro12" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = J6K4T76U7W

et du deuxième (FADE0C000000002C00000001…C000000000003 )

identifier "com.apple.mail" and anchor apple

… donc pas les System Events

Share this post


Link to post
Share on other sites
  • 0
il y a 1 minute, Clem a dit :

… GLURPSSSSS !!!!

T'as interrogé la base TCC.db avec quoi ??? Un éditeur hex ??? SQLITE3 est quand même l'un des outils les plus approprié !

Ce que je lis  du premier "csreg" :


identifier "com.filemaker.client.pro12" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = J6K4T76U7W

et du deuxième:


identifier "com.apple.mail" and anchor apple

datagrip...

Share this post


Link to post
Share on other sites
  • 0
Le 28/08/2019 à 23:44, gloufydric a dit :

comment on peut récupérer le blog/hex de l'application réceptrice ?

Pour obtenir la valeur hex à entrer dans l'un des BLOB de la base TCC.db…

dans un Terminal copie la première ligne du script ci-dessous et rentre le chemin de l'application (émettrice ou réceptrice), puis colle les 5 suivantes et valide …

SIG_APP="<-- ici le chemin de l'application -->"  #ex: /System/Library/CoreServices/System Events.app

# Coller les 5 pas de script suivants et valider…
cd /tmp
REQ_STR=$(codesign -dr - "$SIG_APP" 2>&1 | awk -F ' => ' '/designated/{print $2}')
echo "$REQ_STR" | csreq -r- -b csreq.bin
REQ_HEX=$(xxd -p csreq.bin  | tr -d '\n')
echo "$REQ_HEX"
  
# resultat ex: fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003

 

Pour convertir le contenu du BLOB en une représentation textuelle,

BLOB="<- ici la valeur hex ->" #ex: fade0c000000003400000001000000060000000200000016636f6d2e6170706c652e73797374656d6576656e7473000000000003

cd /tmp
# conversion de l'hexdump en binaire
echo "$BLOB" | xxd -r -p > csreq.bin
# affichage du Code Signed Requirement
csreq -r- -t < csreq.bin

# resultat ex: identifier "com.apple.systemevents" and anchor apple

 

et pour cibler le bon service (la première colonne de la base TCC.db)

strings /System/Library/PrivateFrameworks/TCC.framework/TCC | grep kTCCService

 

Une petite lecture pour les longues soirées d'hiver à venir : CodeSigningGuide

Bon courage !

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...