Comment utiliser le framework de contacts ObjC bridge dans JavaScript for Automation? Je suis capable d'utiliser l'ancien framework AddressBook, mais pas celui des Contacts.Utiliser objC bridge Structure de contacts en JavaScript pour l'automatisation
Disons que j'ai un ID:
id = Application("Contacts").myCard().id()
L'ancien cadre AddressBook fonctionne très bien:
ObjC.import("AddressBook");
book = $.ABAddressBook.addressBook
person = book.recordForUniqueId(id)
console.log(person.valueForProperty($.kABFirstNameProperty).js)
Mais comment utiliser le cadre des contacts? J'ai essayé (basé sur la documentation unifiedContactWithIdentifier
):
ObjC.import('Contacts')
keysToFetch = [ $.CNContactGivenNameKey, $.CNContactFamilyNameKey ]
store = $.CNContactStore
store.unifiedContactWithIdentifierKeysToFetchError(id, keysToFetch, null)
...
Cela échoue avec l'erreur -2700: Erreur de script. Le popup dit TypeError: store.unifiedContactWithIdentifierKeysToFetchError is not a function
Modifier: un exemple encore plus basique, la méthode defaultContainerIdentifier
donne une sortie undefined
:
ObjC.import('Contacts')
store = $.CNContactStore
console.log(store)
/* [Class CNContactStore] */
console.log(store.defaultContainerIdentifier)
/* undefined */
Bien sûr! Merci. – wivku