Building a quality software means providing a good user experience. I encourage all developers embracing and following macOS Human Interface Guidelines. Or, reading it at least :-)
Say, we’re building an macOS application that requires the user’s age information to be able to work correctly. So why bothering users to provide that data instead of fetching it from users’ contacts?
I’m sharing a simplified Swift 3 code snippet below. Calling getUserDetails requests user’s permissions to access contacts with the Contacts framework.