Отсутствуют контакты iCloud на одном устройстве

Я синхронизирую свои контакты через iCloud. В Интернете (iCloud.com) у меня есть более 1000 контактов, которые синхронизируются на моем Mac Mini дома, на моем iPhone и iPad.

Затем у меня есть MacBook Pro, на котором синхронизировано только около 200 из них:

  • Если я отключу «Контакты» в настройках iCloud и снова включу его, я снова получу те же ~ 200 контактов.
  • Если я создам новый на MacBook, он правильно синхронизируется на всех других устройствах.
  • Если я создаю новый контакт на iCloud.com, он синхронизируется на всех устройствах (даже на MacBook).
  • Если я изменяю контакт на iCloud.com, он синхронизируется с MacBook (но только в случае изменения)

Как я могу принудительно выполнить повторную синхронизацию?

Редактировать

Хотя проблема похожа на принудительную синхронизацию контактов с iCloud прямо сейчас, предоставленные решения не помогают:

  • Закрытие и повторное открытие не решает проблему
  • Перезагрузка не решает проблему
  • Отключение и повторное включение iCloud не решает проблему (см. выше)
  • Добавление контакта не решает проблему (см. примеры выше)
  • Вход и выход не решают проблему (см. выше)
  • Перетаскивание контактов в локальное хранилище и обратно в iCloud явно не работает, так как у меня нет контактов на моем Mac.
  • Все остальные подсказки относятся к iOS

Редактировать 2

Я не могу экспортировать/импортировать (перетаскивать/извлекать) контакты для решения проблемы, как в предложенном дубликате. У меня всего 200 контактов на моем Mac. Полный контент находится в iCloud.

Редактировать 3

Я попробовал предложение в комментариях и создал группу на Mac Mini со всеми контактами. Группа синхронизируется с iCloud, но в MacBook я получаю те же ~ 200 контактов, которые были синхронизированы ранее.

Редактировать 4

Я также экспортировал все контакты на Mac Mini и повторно импортировал их. Почти никакого эффекта (на MacBook Pro у меня сейчас 219 контактов). На пару (?) больше, но до >1000 еще далеко.

@fsb Не все предложения описаны в моих примерах (я прочитал ответ, на который вы ссылаетесь). Я добавил примечание к каждому предложенному ответу
Вероятно, вам следует добавить награду к этому другому вопросу вместо того, чтобы открывать новый вопрос для той же/похожей проблемы.
@fsb: нет, на вопрос дан ответ, и один из ответов принят. Пользователь имел контакты на своей машине и мог их экспортировать/импортировать. Это не мой случай. У меня всего 200 контактов на моем Mac. Я должен найти способ привести остальных. Чтобы назначить награду за другой вопрос, мне пришлось бы существенно изменить его.
Прежде чем голосовать снова, чтобы закрыть, пожалуйста, прочитайте оба вопроса.
Сможете ли вы экспортировать/повторно импортировать все свои контакты с помощью Mac Mini? Если я вас правильно понял, Mac Mini синхронизируется правильно.
Я мог бы попробовать, но я не совсем уверен, что там все ОК.
Поскольку изменение контакта приводит к его синхронизации с MacBook, можно перетащить все ваши контакты в группу, а затем удалить их. Я не знаю, будет ли достаточно смены групп или каждый контакт нуждается в фактическом обновлении поля.
@Phong Спасибо за предложение. Хорошая идея, но не сработала (см. «Редактировать 3»)
Действительно странная ситуация. Ваш MacBook Pro должен иметь поврежденную базу данных контактов, которая не позволяет отображать контакты, пока они не будут «перестроены» путем обновления их записи. Вы можете стереть свои локальные файлы, но будьте готовы восстановить их, если что-то пойдет не так. Есть файлы под бэкапом Application Support/Address Book, Caches/com.apple.AddressBookSourceSync, Saved Application State/com.apple.AddressBook.savedStateи Preferences/com.apple.AddressBook.plist(все под бэкапом ~/Library). Удалите их , выйдя из iCloud . После этого перезагрузитесь и снова войдите в iCloud.
@ Фонг. Вроде медленно работает. У меня сейчас ~ 400 контактов ... Пожалуйста, оставьте свой последний комментарий в качестве ответа, чтобы я мог его принять.
Большое спасибо за этот вопрос и ответ. Я провел дни, борясь с этим, идя так же, как и вы, - только по какой-то причине этот вопрос возник только тогда, когда я собирался написать свой собственный (тот же...) вопрос. Возможно, имя можно было бы улучшить, чтобы другие могли его найти.

Ответы (1)

На вашем MacBook Pro должна быть повреждена база данных контактов .

Выход и повторный вход в iCloud ничего не исправит, потому что ваш MacBook Pro повторно использует свою локальную базу данных и считает, что все обновлено. Обновление контакта — это то, что «перестраивает» его запись, позволяя отображать ее.

Попробуйте стереть локальный кеш, чтобы MacBook Pro повторно загрузил все ваши контакты из iCloud.

  1. Выйдите из iCloud .
  2. Удалить ~/Library/Application Support/AddressBook.
  3. Удалить ~/Library/Caches/com.apple.AddressBookSourceSync.
  4. Удалить ~/Library/Saved Application State/com.apple.AddressBook.savedState.
  5. Удалить ~/Library/Preferences/com.apple.AddressBook.plist.
  6. Перезагрузите MacBook Pro.
  7. Войдите снова в iCloud.

Все ваши контакты должны загружаться свежими из iCloud.

(Примечание. Шаги 2 и 3 действительно являются ключевыми, но в приложении Contacts.app не так много настроек, поэтому они могут быть тщательными.)

Ах .... Я был так взволнован, прочитав этот ответ, и следовал шагам, полным надежды (я борюсь с этим уже много дней). Тем не менее ... это НЕ решило проблему. Я делал это 3 раза (каждый раз, когда iCloud приносит ТОННЫ фотографий и так далее, когда я повторно подписываюсь после перезагрузки), но только 436 из моих 1730+ контактов отображаются в приложении «Контакты» на моем iMac (10.14.6). Все они появляются в iCloud.com, iPhone, iPad и другом MBP (10.15.7). Есть еще какие-нибудь хитрости в рукаве?
На самом деле, я так сыт по горло этим, я просто хочу перенести свои контакты и больше не забочусь о том, чтобы iCloud синхронизировал их. Есть ли способ просто скопировать эти каталоги с моего другого Mac и прочитать их в «Контактах»?
Кстати, вы не упомянули каталоги ~/Library/Containers/com.apple.AddressBook и ~/Library/Containers/com.apple.AddressBook.ContactsAccountsService. Разве они тоже не отражают состояние приложения «Контакты»?