2.2 macOS Contacts Configuration

macOS Contacts support is added by means of eudcb-mab.el, or eudcb-macos-contacts.el which are part of Emacs.

To enable a macOS Contacts backend, first require the respective library to load it, and then set the eudc-server to localhost in your init file:

(require 'eudcb-macos-contacts)
(eudc-macos-contacts-set-server "localhost")

eudcb-macos-contacts.el uses the public scripting interfaces offered by the Contacts app via the macOS Open Scripting Architecture (OSA). To accomplish this, eudcb-macos-contacts.el uses an external command line utility named osascript, which is included with all macOS versions since 10.0 (which was released 2001). eudcb-macos-contacts.el is hence recommended for all new configurations.

eudcb-mab.el reverse engineers the format of the database file using the external command-line utility named contacts, which needs to be installed separately. While this may promise some performance advantages, it comes at the cost of using an undocumented interface. Hence, users of eudcb-mab.el are recommended to double check the compatibility of eudcb-mab.el and the required, external command-line utility before upgrading to a new version of macOS. eudcb-mab.el is retained for backwards compatibility with existing configurations, and may be removed in a future release.