I understand and sympathize. Given the ever-greater concerns over privacy it does seem short-sighted to allow only contact and calendar syncing via an online service such as iCloud. I do have a solution. But it costs $20 and it might elicit responses along the lines of “I can’t believe you are suggesting that I…” followed by a string of obscenities. To help protect my delicate feelings I provide the Anger Trough™ below. I hope that those who find it difficult to harness their most fervent feelings will purge their emotions into it before we proceed.
Better? Great. Then let’s get to it.
My $20 suggestion is that you set up local CardDAV and CalDAV servers for syncing contacts and events respectively. With such servers you can easily sync your contacts and calendar events between your Mac and iOS devices over your wireless network without a lot of bother. In fact, the bother is all in configuring Mac OS X Mavericks Server, which you can purchase from the Mac App Store. Here’s how to perform each configuration.
Configuring Server for contact syncing
In Server, select the Contacts entry that appears under the Services heading. Flip the Off/On toggle switch to On. In the Access area of this window you’ll see the local network name for your Mac—MBA-3.local, in my case. You’ll need this name a bit later so make a note of it.
Below Access is Settings. Click the Edit button that appears to its right. In the sheet that appears click the Enable Push Notifications button. You’ll then be prompted for your Apple ID and password (these are the ID and password you use for purchasing goods from Apple’s iStores not your Mac’s user name and password). Fill in this information and click Get Certificate. A certificate will be created that expires in one year. Click OK to dismiss the sheet.
Now launch System Preferences and click on Internet Accounts. In the resulting window scroll down to the bottom of the account type list and click Add Other Account. In the sheet that appears choose Add a CardDAV account and click Create.
Yet another sheet will appear. Into this sheet enter your Mac’s account name—chris, in my case—and your account’s password. In the Server Address field enter your Mac’s local network name. This is the name I earlier asked you to make a note of—MBA-3.local, on my Mac. Click Create.
You’ll likely see a Verify Certificate window that tells you that Contacts can’t verify the identity of the server you entered. Click Show Certificate and in the area that appears below, click on the Trust triangle and from the When using this certificate pop-up menu choose Always Trust and click Continue. You’ll be asked to enter your Mac’s user name and password. Do so.
Launch Contacts and if you’re told that Contacts can’t connect to the account you just set up, enter your user name and password and click OK. If Contacts’ Groups pane isn’t showing choose View > Show Groups. Scroll down this pane and you will see an entry for the server you just created—Mba-3 in my example—followed by an All entry. Select this and you’ll see no contacts whatsoever. And that’s fine. It just means you need to add them. To do that, simply drag the contacts you want to sync into this group. (You can additionally create groups within this server group.)
Configuring contacts for your iOS devices
Now we’ll configure your iOS devices so that they can sync their contacts with the server over your local network. Tap on Settings and then tap Mail, Contacts, Calendars. In the Accounts area tap Add Account. In the screen that appears tap Other. In the Other screen tap Add CardDAV Account. In the resulting CardDAV screen enter the requested information—server name (MBA-3.local in our example), your Mac’s account name and password, and a description, if you like. Tap Next at the top of the screen to verify your settings.
Now launch the Contacts app and scroll down the list of groups. You should see your server group along with any groups you’ve added to it. If you select only this group, all the contacts you’ve added on your Mac will appear on your iOS device. If, in turn, you add a new contact to this group on your iOS device, it will be synced with your Mac over your network without touching the cloud.
Now that you’ve done that you’ll find setting up a CalDAV server dead simple. Return to Server and select Calendar under the Services heading. Flip the Off/On switch to On. Once again, your local network name will appear under the Access entry. It’s exactly the same as before.
Go to System Preferences, select Internet Accounts, click Add Other Account, enable Add a CalDAV account, and click Create. In the sheet that appears choose Manual from the pop-up menu and configure the User Name, Password, and Server Address fields just as you did in our CardDAV setup. Click Create.
Move to your iOS devices and do as you did before, but this time create a CalDAV account rather than CardDAV.
When you have everything configured properly you’ll see your server calendar in both Mavericks’ Calendar application and the Calendar app on your iOS devices. When you add an event to either of these calendars they’ll be synced.
Would it be easier if iTunes just took care of all this for you as it once did? Of course. Do you have that option under Mavericks? You do not. Angry about it? The trough awaits.