Création d'un AppleScript pour basculer entre plusieurs comptes iTunes

introduction

Si vous possédez un appareil Apple, vous aurez un identifiant Apple qui servira également de compte pour vos achats sur iTunes. Certains propriétaires Apple peuvent avoir plusieurs identifiants Apple: personnel, personnel, pour partager du contenu avec des membres de leur famille ou même des identifiants Apple pour les magasins iTunes de différents pays..

Si vous utilisez plusieurs identifiants Apple avec iTunes, vous serez déjà familiarisé avec les tracas liés à la modification fréquente des comptes et à l'obligation de saisir les informations d'identification à chaque fois..

Dans ce tutoriel, je vais vous montrer comment créer un AppleScript permettant de basculer facilement entre tous vos identifiants Apple, en un seul clic dans iTunes..


Avant que nous commencions

Avant de commencer, il est important de comprendre qu'il s'agit d'un didacticiel avancé utilisant AppleScript. Si vous n'êtes pas familier avec AppleScript, il vous est d'abord conseillé de consulter un tutoriel pour débutant publié sur Mactuts +. Je les ai énumérés ci-dessous.

  • Guide du débutant ultime pour AppleScript
  • Si et si sinon: instructions conditionnelles AppleScript
  • Techniques AppleScript avancées
  • Gagnez du temps et de l'énergie avec les boucles de répétition AppleScript

1. Le but

Le but de ce tutoriel est de coder un AppleScript qui vous permet de:

  • enregistrer tous vos comptes Apple ID dans un fichier plist
  • connectez-vous à iTunes en utilisant un compte enregistré
  • supprimer tous les comptes enregistrés

Le script enregistre tous vos comptes Apple ID dans un fichier Plist avec la structure suivante: chaque ligne de fichier a pour clé un libellé identifiant le compte et un tableau contenant l’adresse électronique et le mot de passe Apple ID..

Pointe: Notez que les champs de mot de passe, dans le fichier plist, ne sont pas cryptés. Afin de protéger cela, il est recommandé de définir un mot de passe sur votre compte utilisateur OS X. Pensez à configurer des comptes d'utilisateurs distincts sous OS X si vous partagez votre Mac avec quelqu'un d'autre..

L'image ci-dessous montre un exemple de fichier plist mis à jour avec deux identifiants Apple enregistrés.


Dossier de la comptabilité

Si vous ne connaissez pas bien les fichiers Plist, je vous recommande de lire la documentation à ce sujet sur le site Apple Developer..


2. Lancez l'éditeur AppleScript

Lancer le Éditeur AppleScript app. Vous trouverez l'application à l'intérieur Applications> Utilitaire. Vous pouvez également saisir le nom de l'application dans Spotlight (ou dans l'application Alfred) pour la lancer..


Éditeur AppleScript

L'éditeur AppleScript est votre environnement de développement où vous pouvez écrire, éditer, compiler et tester votre code AppleScript. Une fois que vous avez ouvert l'application, vous pouvez commencer à écrire le script..


3. Commencez à coder le script

Le script comporte des fonctions qui simplifient le code principal afin qu’il soit plus lisible et clair. Codons les fonctions.

Étape 1

La première fonction permet de créer un fichier pliste contenant l’ensemble de vos comptes d’ID Apple. Le code ci-dessous définit la fonction.

 -- Fonction permettant de créer un fichier plist sur createAccountsFile (filePath). Indiquez à l'application "Evénements système" - Créez le jeu de dictionnaires racines set rootDict pour créer un nouvel élément de la liste de propriétés avec les propriétés kind: record - Ajoutez le dictionnaire racine à un nouveau fichier plist enregistré. dans filePath, définissez plistFile pour créer un nouveau fichier de liste de propriétés avec les propriétés contenus: rootDict, nom: chemin_fichier end-end-end-createAccountsFile

le createAccountsFile (filePath) la fonction a un paramètre chemin du fichier qui est le POSIX chemin de votre fichier plist. La ligne 5 crée le dictionnaire racine et la ligne 7 l'enregistre dans le nouveau fichier plist..

Étape 2

Une deuxième fonction vous permet d’ajouter un nouveau compte Apple au fichier plist. le addAccount (filePath, label, email, pass) la fonction a quatre paramètres:

  • chemin du fichier est le POSIX chemin du fichier plist
  • étiquette est une étiquette pour identifier le compte Apple
  • email est l'adresse email du compte Apple ID
  • passer identifie le mot de passe du compte

Le code ci-dessous implémente la fonction définie.

 -- Fonction permettant d’enregistrer un nouveau compte Apple sur addAccount (filePath, label, email, pass). Indiquez à l’application "Evénements système": ouvrez le fichier Plist. Indiquez la liste des propriétés. FilePath - Récupérez le contenu du fichier Plist. avec toutes les informations de compte dans le dictionnaire racine du fichier plist; création du nouvel élément de la liste de propriétés avec les propriétés type: liste, nom: libellé, valeur: email, bon fin fin fin fin fin fin addAccount

Étape 3

La fonction codée ci-dessous renvoie une liste de toutes les étiquettes de chaque compte. le getLabels (filePath) a un seul paramètre: le chemin du fichier c'est le fichier plist POSIX chemin.

 -- Fonction permettant d’obtenir toutes les étiquettes de compte sur getLabels (filePath) - Définit une liste vide qui contiendra toutes les étiquettes d’ensembles de libellés à  indiquer à l’application "Evénements système" - Récupère le contenu du fichier plist et l’enregistre dans la variable fileContent. Définit la variable fileContent dans la propriété filePath - Analyse chaque ligne du fichier et ajoute chaque étiquette aux étiquettes. Répéter la liste avec le compte dans le fichier. Contenu Définir l'étiquette au nom du compte défini. Fin des étiquettes à l'étiquette Fin à la fin. Répéter - Retourne la liste avec tous. les étiquettes retournent les étiquettes et finissent par obtenir les étiquettes

Étape 4

Une autre fonction importante est getAccountInfo (filePath, selectedAccount) qui renvoie des informations (email et mot de passe) sur un compte Apple enregistré. La fonction ci-dessous a deux paramètres:

  • chemin du fichier est le POSIX chemin du fichier plist
  • selectedAccount est le compte choisi lorsque vous exécutez le script final

Le code ci-dessous implémente la fonction.

 -- Fonction permettant d'obtenir l'adresse électronique et le mot de passe d'un compte sélectionné sur getAccountInfo (filePath, selectedAccount). Indiquez à l'application "Evénements système": ouvrez le fichier plist et obtenez son ensemble de contenu. FileContent dans un fichier de liste de propriétés (filePath) - Obtenez des informations en fonction de selectedAccount. info à la valeur de l'élément de la liste de propriétés selectedRecompte de fileContent end tell - Renvoie le tableau d'informations return info end getAccountInfo

Étape 5

le getPath (NomFichier) fonction codée ci-dessous, implémente une fonction utilitaire qui renvoie l'absolu POSIX chemin d'un fichier spécifié par le paramètre nom de fichier. Dans notre cas, le nom du fichier représentera le fichier plist avec tous les comptes Apple..

 -- Fonction permettant d'obtenir le chemin absolu d'un fichier sur getPath (nomFichier). Indiquez à l'application "Finder" - Obtenir le chemin absolu du dossier parent de votre fichier AppleScript. Définissez _path sur le parent de (path to me) en tant que chaîne - Transforme le chemin en un chemin POSIX. configurez _path en POSIX chemin _path - Concaténez le chemin du dossier avec le nom de fichier défini _path en _path & fileName - Renvoyez le chemin POSIX. du fichier plist avec le nom 'nom_fichier' qui se trouve dans le dossier du fichier AppleScript return _path end tell end getPath

Étape 6

Enfin, codons la dernière fonction: la fonction principale. Cela nous permet de nous connecter automatiquement à iTunes avec n'importe quel compte enregistré dans le fichier Plist. le iTunesLogin (info) la fonction a un paramètre seulement: Info représente un tableau contenant l'adresse email et le mot de passe d'un compte Apple.

Pour vous connecter automatiquement à iTunes, le langage AppleScript simule les opérations manuelles que vous feriez pour atteindre les objectifs suivants:

  • Lancer iTunes
  • Cliquer sur Boutique> Connexion…
  • Tapez votre email
  • Tapez votre mot de passe
  • Cliquer sur Se connecter bouton

La fonction ci-dessous effectue toutes les étapes ci-dessus pour vous.

 -- Fonction pour iTunes, connectez-vous à iTunesLogin (infos) - Lancez l'application iTunes appelée "iTunes" pour activer l'application Tell "Evénements système", indiquez le processus "iTunes" au premier plan - Déconnectez-vous avant d'exécuter une nouvelle connexion, cliquez sur l'élément de menu loginBtn de menu "Store" de la barre de menu 1 en cas d'erreur cliquez sur l'option de menu logoutBtn du menu "Store" de la barre de menu 1 retard 2 cliquez sur l'élément de menu loginBtn du menu "Store" de la barre de menu 1 end try delay 1 - Tapez l'email de compte de compte item 1 d’information Retarder la frappe du compte 1 - Tapez le mot de passe du compte Article 2 de l’infos - Appuyez sur la touche Retour Touche retour retarder 3 saisie Retour Fin Fin Fin Fin iTunesLogin

Dans cette fonction, il y a deux variables globales loginBtn et logoutBtn. Ils représentent les boutons pour la connexion et la déconnexion d'iTunes. Les noms des boutons sont basés sur la langue du système; vous devez les configurer correctement pour que le AppleScript fonctionne.


4. Code principal AppleScript

Une fois que vous avez fini de coder toutes les fonctions précédentes, vous pouvez écrire le code principal de votre AppleScript. À l'intérieur de l'AppleScript, placez votre curseur en haut du fichier..

Étape 1

La première étape de notre didacticiel consiste à définir des variables et à effectuer des vérifications..

 -- Définissez le nom du fichier plist qui contiendra tous vos comptes Apple set fileName sur "accounts.plist" - Obtenez le chemin absolu du fichier plist à l'aide de la fonction 'getPath (fileName)', définissez filePath pour obtenir getPath (fileName) - Définissez le Nom des boutons de connexion et de déconnexion iTunes en fonction de la langue de votre système. Propriété loginBtn: propriété "Sign In ..." logoutBtn: "Sign Out", indiquez à l'application "Finder" - Vérifiez si le fichier plist existe déjà. Si false, créons-le avec la fonction 'createAccountsFile (filePath)' sinon (existe filePath en tant que fichier POSIX), puis ma commande createAccountsFile (filePath) se termine si end tell

Étape 2

L'étape suivante consiste à afficher une boîte de dialogue demandant à l'utilisateur ce qu'il veut faire. Notre AppleScript a les caractéristiques suivantes:

  • Choisissez un compte (pour vous connecter à iTunes)
  • Ajouter un nouveau compte Apple (au fichier plist)
  • Réinitialiser les comptes (vider le fichier plist)

Dialogue Actions

Le code ci-dessous implémente le dialogue.

 -- Afficher la boîte de dialogue des actions définie par le dialogueRésultat pour afficher la boîte de dialogue Boutons "Choisir le compte Apple", "Ajouter un compte", "Réinitialiser les comptes" avec une réponse masquée

Étape 3

Il est maintenant temps d'analyser le choix de l'utilisateur.

 -- Analyser le résultat si dialogResult = bouton renvoyé: "Ajouter un compte" puis - Cliquez sur le bouton "Ajouter un compte" sinon si dialogResult = bouton renvoyé: "Choisir un compte" puis - Cliquez sur le bouton "Choisir un compte" sinon si dialogResult = bouton renvoyé: "Réinitialiser les comptes" puis - Cliquez sur le bouton "Réinitialiser les comptes" si

Si l'utilisateur clique sur Ajouter un compte bouton le script lui demande d'insérer les informations d'identification pour un nouveau compte Apple. Il affichera trois boîtes de dialogue avec des champs de saisie pour l’étiquette du compte, l’e-mail et le mot de passe. Le code ci-dessous implémente ce processus.

 -- Cliquez sur le bouton 'Ajouter un compte' - Demandez à insérer la boîte de dialogue d'affichage d'étiquette de compte "Insérer une étiquette pour le nouveau compte Apple" "réponse par défaut" "- Enregistrez la valeur du champ dans l'étiquette Variable set label (texte renvoyé du résultat) - - Demander à insérer la boîte de dialogue d'affichage de l'e-mail du compte "Insérer l'adresse de messagerie du compte Apple", "réponse par défaut" "- - Enregistrer la valeur du champ dans la variable de courrier électronique définie sur email (texte renvoyé du résultat) - Demander à insérer la boîte de dialogue d'affichage du mot de passe du compte" Insérez le mot de passe du compte Apple "réponse par défaut" "avec réponse masquée - Enregistrez la valeur du champ dans la variable pass set pass to (texte renvoyé par le résultat) - Insérez le nouveau compte dans le fichier plist à l'aide de 'addAccount (filePath, label , email, passe) 'fonction addAccount (filePath, label, email, passe) - Affiche une boîte de dialogue d'affichage du message de succès "Le compte" & label & "a été enregistré avec succès!" boutons "Terminé"

Si un utilisateur clique sur le bouton Choisir un compte bouton, le script affiche une boîte de dialogue avec tous les comptes enregistrés. Lorsque l'utilisateur choisit un compte, le script exécute la connexion iTunes. Mettons en œuvre l'action.

 -- Cliquez sur le bouton 'Choisir un compte' - Obtenez toutes les étiquettes des comptes en utilisant les étiquettes du jeu de fonctions 'getLabels (filePath)' pour obtenir des étiquettes (filePath) - Vérifiez si l'utilisateur a inséré au moins un compte si le (nombre d'étiquettes) n'est pas 0 puis - Affichez tous les comptes disponibles. Choisissez parmi les étiquettes de liste avec le titre "Comptes Apple" avec invite "Connexion à iTunes avec:" Nom du bouton OK "Choisissez" annuler le nom du bouton "Annuler" - Enregistrer le choix Copier le résultat sous forme de chaîne selectedAccount - Si l'utilisateur n'a pas appuyé sur le bouton Annuler, continuez s'il n'est pas selectedAccount est égal à "false", puis - Obtenez les informations sur le compte sélectionné à l'aide de 'getAccountInfo (filePath, selectedAccount)' renseignez l'info sur getAccountInfo (filePath, selectedAccount) - Exécutez la connexion iTunesLogin (info) et fermez la boîte de dialogue "Aucun compte enregistré pour le moment! Insérez-en un nouveau!" les boutons "Terminé" se terminent si

Si l'utilisateur clique sur le Réinitialiser les comptes bouton, le script remplace le fichier plist par un fichier vide. Le code ci-dessous appelle le createAccountsFile (filePath) fonctionner à nouveau pour terminer le processus.

 -- Cliquez sur le bouton 'Réinitialiser les comptes' pour essayer - Demandez à l'utilisateur de confirmer la boîte de dialogue d'affichage de l'action "Voulez-vous supprimer tous les comptes insérés?" - Si l'utilisateur n'annule pas l'action, écrase le fichier plist createAccountsFile (filePath) - Affiche une boîte de dialogue indiquant le succès du message "Tous les comptes sont supprimés avec succès" boutons "Terminé" en cas d'erreur - Ne rien faire d'essayer

5. Exécuter le script dans iTunes

La dernière tâche requise pour terminer le didacticiel consiste à installer votre AppleScript dans iTunes afin de pouvoir y accéder facilement à tout moment..

Étape 1

Commencez par exporter le code AppleScript. Dans l'application AppleScript Editor, cliquez sur Fichier> Exporter… du menu du haut.

À l'intérieur du panneau d'exportation, vous devez:

  • exporter en tant que "Accès à iTunes"
  • choisissez comme emplacement votre bureau
  • choisir Scénario comme format de fichier
  • et sélectionnez le Seulement courir option

Lorsque vous êtes prêt, cliquez sur le bouton sauvegarder bouton.


Script d'exportation

Étape 2

Maintenant, déplacez le script exporté dans iTunes. Pour ce faire, lancez l'application Finder et choisissez Aller> Aller au dossier du menu du haut.
Complétez le champ de saisie du panneau avec /Users/Your.System.User/Library/iTunes/ et cliquez sur le Aller bouton.


Aller au dossier

Maintenant déplacez le la Accéder à iTunes fichier de la Bureau au Scénario dossier (si ce dossier n'existe pas déjà, vous devez d'abord le créer) pour terminer le processus.


Déplacer le script

Étape 3

Pour vous assurer que votre AppleScript fonctionne correctement, vous devez également permettre l’accès aux périphériques d’aide: ouvert. Préférences de système app, choisissez le Accessibilité icône et vérification Activer l'accès aux dispositifs d'assistance. L'image ci-dessous montre le panneau avec cette option.


Accessibilité

Étape 4

Maintenant, vous pouvez déclencher le AppleScript directement depuis iTunes.


Script déclencheur

Conclusion

Toutes nos félicitations! Vous avez terminé le script AppleScript. Si vous avez suivi toutes les étapes, vous pourrez utiliser AppleScript à partir d’iTunes. Dans ce didacticiel, vous avez appris à coder un AppleScript afin de passer d'un compte Apple à un autre sans avoir à saisir plusieurs fois des adresses électroniques et des mots de passe différents. Vous pouvez également facilement adapter cet AppleScript à un Mac App Store. Il suffit de modifier le iTunesLogin une fonction. J'espère que vous avez apprécié ce tutoriel. Indiquez-moi comment vous vous en sortez avec les scripts et les commentaires ou questions que vous avez à l'aide de la section commentaires ci-dessous..