Though for about a day I did not see any improvement in my situation (iOS and NextCloud not syncing), this morning I decided to link up my laptop’s copy of Apple’s Address Book/Contacts app via a CardDav account to the same NextCloud-hosted contacts as I am testing with on iOS. My set of 200 or so contacts showed up on the laptop within about 10 seconds, but – much like with my iOS situation – a change made to a card on MacOS did not seem to be reflected on NextCloud’s web interface for the same card – this despite seeing a sync cursor (spinning, grey-colored, gear-like animation) to the right of the CardDav account’s root entry that’s displayed in the left sidebar of MacOS’s Contacts app. I’m running MacOS “Sierra” (MacOS v10.12); which is to say “Contacts” v10.0, build 1756).
I then tried making a change to a contact entry via NextCloud’s web interface to see whether it would show up on the laptop. As soon as the next sync event happened on the Mac (the aforementioned gear icon spinning for 8 or 10 seconds and then stopping), the change made on the web side of things did show on MacOS. seeing that, I immediately checked for the earlier change that was initiated on the Mac, and it, too, was showing on the web site.
So good news, sort of, for NextCloud 10 <-> MacOS 10.12.
I then checked my iPhone (yesterday’s setup was still configured on the phone), and both of those two changes were visible on their respective cards. I then made a subsequent change to one of those cards via iOS and it showed up on the Mac right away – but the NextCloud web client didn’t show the change. Obviously, for the Mac to have known about the change, the change made would have had to have been propagated to the NextCloud server, so I then asked the browser displaying NextCloud’s web interface (Safari Technology Preview release 14 (e.g. Safari 10.1, WebKit 12603.1.6.0.2) to re-render, and the change showed up.
Several other changes that I tried from various origin points were propagated to all clients. Nevertheless, as an aside, in every case, if the change was not made directly via the NextCloud web client, the NextCloud web client would not show the change made until I manually refreshed the browser. I tried with the NextCloud web client being viewed on both Safari Technology Preview and Firefox 48.0.2. The fact that I have to forcibly ask the browser to re-render in order to to see recent changes is unfortunate, I think, but perhaps it’s expected for the current version of NextCloud and/or NextCloud’s calendar plug-in.
So, good news, sort of, for NextCloud 10 <-> iOS 10.0.2 is now working for me.
I say “sort of” because none of the above explains why, for the many times I tried it yesterday and this morning, iOS and NextCloud refused to synchronize changes regardless of whether the change was initiated via NextCloud’s web client or iOS’s Contacts/Address Book app. The phone did not get rebooted between yesterday and now. And I was testing from the same Wi-Fi network, which also didn’t get rebooted between then and now. And though the phone did disconnect from that network and reconnect to it, failures in yesterday’s NextCloud to iOS tests were occurring on a phone that had no difficulty accessing various Internet-hosted resources. The only thing that I can think of that appears to have happened between yesterday’s iOS failures and today’s iOS successes is that I hooked up the laptop’s Address Book app with the NextCloud contacts database and initiated change through that connection. I suspect that such a thing happening has no logical bearing on the problem, but that’s all I can come up with at the moment.
I’m quite busy at the moment, but next week I’ll see if I can’t reproduce the iOS problem by setting up a fresh connection between the NextCloud database and a different iOS device.