I’ve seen a few issues now where ApplePay and Health stopped working properly on a Mac and iOS device and when you fixed one, it seemed to wreck the connection with the other. Turns out that the information on a local system is managed with the new(ish) ckksctl command. Using ckksctl is pretty straight forward. First, let’s look at what’s on the Mac, using the ckksctl command with the status verb:
/usr/sbin/ckksctl status
There will be a section for ApplePay and another for Health. Here, if the services are configured, you should see the following in that section:
CloudKit account: logged in
Now, let’s force a pull of what’s in iCloud using the fetch verb:
/usr/sbin/ckksctl fetch
A successful sync will simply exit. However, that doesn’t mean that the keys are actually working. So if the issues persist, what we’re going to do is reset what’s in the local system and then pull the information from CloudKit again and show the status:
/usr/sbin/ckksctl reset; /usr/sbin/ckksctl status
Additionally, if you feel the local system is correct and the CloudKit data is incorrect then you could do the opposite and push a fresh config from the client to CloudKit:
/usr/sbin/ckksctl reset-cloudkit; /usr/sbin/ckksctl status
This has resolved issues I’ve seen. The status is also useful to track what a client has been configured to access. Please feel free to comment if you’ve had other experiences as I’ve found practically no information on this command.