Ios caldav client not syncing

Hi,

I’ve made some progress here, it appears my problem was a compound of 2 issues:

  1. CORS restricting allowed methods:

I had the annotation nginx.ingress.kubernetes.io/enable-cors: true set in my ingress configuration (ingress-nginx/annotations.md at main · kubernetes/ingress-nginx · GitHub), which in turn sets the following response header:

access-control-allow-methods: GET, PUT, POST, DELETE, PATCH, OPTIONS

This was particularly a problem when the client is trying it hit the OPTIONS /remote.php/dav/principals/users/dan endpoint. Unsetting this allowed all the needed verbs.

allow: OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT
  1. Automatic URL detection not working

Despite the offical docs (https://docs.nextcloud.com/server/19/user_manual/pim/sync_ios.html), stating just the base hostname is needed, this doesn’t seem to be the case. The hint from the comments here: How to add NextCloud Calendar to iphone - #7 by j-ed gave me the answer. I had to add the /remote.php/dav/principals/users/<username>/ suffix.

1 Like