最近,我们的一些用户提示联系人未同步到他们的 iCloud 帐户。它在 iOS 8 中运行,但在 iOS 9 的一项更新中神秘地停止了。随着 iOS 10 的临近,我认为这可能与从 AddressBook.framework
到 Contacts.framework 的弃用有关
。然而,即使转移到新的 Contacts.framework 也没有解决问题。
设备控制台上没有错误日志,并且在设备上创建/更新联系人时,两个框架都不会生成任何错误。
联系人在设备上可见且可用,只是不同步到 iCloud 和连接到 iCloud 帐户的其他设备。
最佳答案
经过大量调试后,我能够将问题隔离到 imageData
属性。填充了 imageData
的联系人未同步,少数没有图像的联系人已同步。这让我查看了 imageData 的代码。原来我一直在使用 UIImagePNGRepresentation 将 UIImage 转换为 imageData 的 NSData 。移至 UIImageJPEGRepresentation
解决了该问题。这一天已保存,iCloud 帐户已同步。
感谢 Apple 没有记录此更改。 (即使没有记录,也可能是图像大小)
关于iphone - 本地创建的 CNContact 未同步到 iCloud 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39279906/