There are various conditions where Apple iOS can't (or won't) synchronize Contact photos between iPhone/iPad devices. If you're in this situation and want it to "just work", you can configure each device manually. Or you can run this script to do that for you.
update-ios-contact-images.js
takes a list of email addresses and optional image links and sets the photo for matching contacts in your address book.
If an image link is provided, it's used as-is; if not, the Gravatar for that email address is used instead.
- Install Scriptable on your iPhone or iPad
- Create a new script from
update-ios-contact-images.js
- Customize the
accounts
array for the contacts you care about - Run the script, review the output
- Repeat as necessary on other devices