iosicloudios8homekit

HomeKit throws Error 77 & 78


Every time I make a call to HomeKit on my iPod Touch 5th gen, I consistently get this error:

Printing description of error:

Error Domain=HMErrorDomain Code=78 "The operation couldn’t be completed. (HMErrorDomain error 78.)"

This is on a call to homeManager.addHomeWithName(). I think that code 78 is CloudDataSyncInProgress

This has been happening for days, though. What can I do to fix it?

If I sign out of iCloud and try again, I get code 77 (KeychainSyncNotEnabled).


Solution

  • Reference for the error codes are provided in NSError+HomeKit.m in the HMCatalog sample project for HomeKit. (See "https://developer.apple.com/homekit/") Note that you do not need to be a developer to access these resources.

    The relevant error code pairs from the dictionary provided in that file are:

    (int)76 : @"Keychain Sync Not Enabled"
    (int)77 : @"Cloud Data Sync In Progress"
    (int)78 : @"Network Unavailable"

    At first glance, I would think this indicates a poor WiFi connection?

    To clean up the iCloud Keychain for HomeKit, I found the following process worked.

    1) navigate to Settings > iCloud > Keychain disable the iCloud Keychain setting.

    2) navigate to Settings > Privacy > HomeKit select the "Reset HomeKit Configuration..."

    3) navigate to Settings > iCloud > Keychain enable iCloud Keychain setting