How do I update CloudKit whenever there is a change in Contacts in iOS?

Is there any way to run code in iOS whenever new information are added to certain contacts in contact store?

If I use Notifications, I would have to have a process running at all times, since contacts are able to be changed by Apple's Contacts app. I have looked at App Extensions and there are no extensions I that can be used.

There is a way to run a background process but I recall that has a limited lifespan. Am I correct about this?

I need to update data in CloudKit that saves contacts information that can be shared with other users using their own Apple ID's. CloudKit subscriptions notify my app when something changes in CloudKit, but I also need to update records in CloudKit when something changes in Contacts.

Anyone have any ideas how this might possibly be done?

What about using iCloud. Is there a way for my app to be able to know when iCloud is currently syncing? If my app sees that iCloud is currently syncing, it can run code to check the Contacts that CloudKit have records of. Is there a way to tell if there are Contacts that are syncing and which contacts are syncing?

The best thing so far that I have found is found in this article Choosing Background Strategies for Your App under the heading Update Your App's Content.

If anyone knows of a better way, I'd really like to know.

How do I update CloudKit whenever there is a change in Contacts in iOS?
 
 
Q