Getting Nextcloud to work with Mac OS X adress book

That seems to be identical to the one i found on an old installation above.

And it seems to be working! crazy!

Only thing left: now i get some error warnings about integrity check:

- core
		- .htaccess
		- tmp/oc_tmp_nnmupN-folder/.htaccess
- files_external
		- l10n/nl.js

Raw output
    [core] => Array
            [INVALID_HASH] => Array
                    [.htaccess] => Array
                            [expected] => 4a97aae4d05df89a28bf2e63fe2a31cdf2afe74d3c9f622a81d6b0f1f4e001639c7c3a31d7aaa793c00d5f355e0bfaad62ec45507245de44...etc.....
                            [current] => bcc50fb677192508c389d0425addf7e11289a17f39943......etc.....

try to change max upload size on nextcloud admin page, it will overwrite .htaccess file, and maybe will save it’s hash as valid(don’t really know how integrity check works)

1 Like

Well… strange things…

1st: changing the max upload size lead to a temporary dissappearance of the integrity warning - strangely enough after a few moments the warning came back. And i dont succed to get from a 1 GB limit back to a 2 GB limit…

2nd: whilst logging into the adress book account with Mac OS X went fine after the implementing the rewrite rules, i cant explain why but some adresses will just not sync? i got two machines, the first machine got two of my 4 test-adresses, the second machine doesnt get any adress, although it seems to be logged in the nextcloud-adressbook without any error message.

by the way, i found out i have a .htacess not only in my clouds root folder, but also one in my config folder. is it supposed to be there or could it be a source of trouble? it reads as follows:

# line below if for Apache 2.4
<ifModule mod_authz_core.c>
Require all denied

# line below if for Apache 2.2
<ifModule !mod_authz_core.c>
deny from all

# section for Apache 2.2 and 2.4
IndexIgnore *

it should be there, it denies access to config folder from web.
try to force update contacts on second machine, maybe it doesn’t trust to server cert, on reload it should show connection error.

Ok ,thanks!

Now gotta figure out why i can not change the upload limit from 1GB to 2 GB anymore, tried it several times, will not change…

If you replaced .htaccess, it have permissions of user who placed it, change it by chown to user which runs apache.

Having a working .htaccess is really important.

1- it makes disappeared the index.php in the URL

2- it integrates some quick conf for php max upload etc… Quite usefull

3- it have embedded the rewrite rules for caldav and webdav
When i started to use Owncloud this rules wasn’t there,
I have to type this on every client
Login : user
Password : password
Server :

Now the server is just :
As simple as adding an iCal server.

no one of these helped.

I managed to add Caldav using advanced option in macOS sierra however… CardDav and none of these (Cal or CardDav) worked.

I would really appreciate your help.


Ok Solved the problem.

Solved it how?


Well Actually I used different methods for each App and device … here is what I did :

1- macOS :

CalDAV :
First Please Choose “Advanced” for “Account Type”

Then in “Server Address” please type your domain like "

And in “Server Path” type :


  • Please remove /nextcloud/ if your nextcloud is installed in root of your domain.
  • Do not forget to change USERNAME to your own NextCloud User


I selected “Manual” for “Account Type” and entered server path as below :


Notes :

  • Server port is usually SSL port (default : 443) but this value maybe different from server to server.
  • Please remove /nextcloud/ if your nextcloud is installed in root of your domain.
  • Do not forget to change USERNAME to your own NextCloud User

2- iOS

In iOS is actually very easy and kind of silly !!

First you should go through adding CalDAV and CardDAV as normal then after sometime it will give you an error just choose cancel and go to advanced (do not quite the whole process just cancel using NON-SSL version) and choose Using SSL (if you want to) and type in your SSL port (Usually 443 by default) and again click on next so it tries to verify the server and after sometime gives you the same error. So again click on cancel and then “SAVE”.

Despite the errors in this time this will work like a charm meaning the error is just wrong.

Note: I used the the Cal/CardDAV path from my NextCloud for the server path.

Note: In some cases this is not needed to set the port but in my case it did not work without setting the port.

I hope this helps :slight_smile:

Good luck and please keep us updated if this worked for you too.

1 Like

I’ve been having similar problems and just seen your response. I’ve got the calendar on OSX working but still cannot get it to work on IOS . What’s the entry that you have on the advanced settings in CalDav on IOS?

Mine reads http://MYDOMAIN.COM/nextcloud/remote.php/dav/principals/users/USERNAME/
The USE SSL is ‘selected’ and the Port Entry has 443

It all saves as you suggest, but the Nextcloud calendar is still not showing in calendar.

I still cannot get the contacts to work on IOS or OSX, but lets try and figure out one thing at a time.

It is just as follows :

One question, is your cloud installed in a sub-directory or in your domain root ?

Regarding the iOS Calendar, have you checked if your CalDAV is active in your calendar list ? ( located in Calendar > Calendars (on the bottom of the screen).

And Regarding the CardDAV in macOS, have you used the port which I provided in my previous reply which includes port in the server path ?

and please note that in macOS is would take sometime for your contacts to show up after you add your cardDAV

Well this is really inexplicable. I decided to remove all the entries on both the iPhone and iMac and re-entered the settings again for both CardDav and Caldav. After filling in all the initial settings and saving then, I then went back into the advanced settings and entered


( By the way the above entry works for both CardDav and Caldav)

I then save these settings and then reboot the device and Bingo. When I open of contacts and calendar, everything shows.

When I go back to the advanced settings the entry I made above has now changed to


and the USE SSL option is selected and 443 has been entered as the port number.

I cannot explain why this now works, where’s yesterday it didn’t.

Anyway, I’m now up and running on both IOS and OSX.


Great to hear that its working for you and yeah I do understand what you say.

You know putting “:443” after the domain name is actually telling the iOS or Mac that my port is 443 (manually).

And by the way this really should not be like this and Apple has been able to solve this issue in last 10 years but for some reason they decided not to.

Anyways Again happy to hear that you finally sorted it out.

Good luck.

I just used the pattern


on the “manual” dialog to add an addressbook.

WIth a Nextcloud installed to the root of the webserver/domain and it worked with macOS Sierra 10.12.4 addressbook.

Hope that helps someone to get it configured :wink:

Does that go into an .htaccess file in the nextcloud folder, or the web root folder?

It’s from nextcloud root folder

I am unable to connect my nextcloud instance, served from a shared web host, to my mac calendar and address book applications. It seems, my mac (high sierra mac mini) connects to the given urls (I used all variations I found in numerous posts, not only here), but there is never any data transmitted.
I would need some help to debug this, but I do not know, where to start.
If I use https://serverfqdn/.well-known/carddav in the browser, I get the correct answer. I can connect with my android phone without problems, so the problem is on my mac, only.


If service-discovery is working you can use automatic account type:

  1. on your Mac go to system-settings and add carddav account
  2. choose automatic as account-type and as email-address use (replace with the domain you are running Nextcloud on). This doesn’t have to be a valid email-address. Important: only the domain is needed, even if nextcloud is not installed in webroot. Mac OS uses then service discovery to grab the correct links.