static bool purgeICloudIdentity(SOSAccountRef account) { bool retval = false; SOSFullPeerInfoRef icfpi = SOSCircleCopyiCloudFullPeerInfoRef(SOSAccountGetCircle(account, NULL), NULL); if(!icfpi) return false; retval = SOSFullPeerInfoPurgePersistentKey(icfpi, NULL); return retval; }
bool SOSAccountDestroyCirclePeerInfoNamed(SOSAccountRef account, CFStringRef name, CFErrorRef* error) { if (CFDictionaryGetValue(account->circles, name) == NULL) { SOSCreateErrorWithFormat(kSOSErrorNoCircle, NULL, error, NULL, CFSTR("No circle named '%@'"), name); return false; } SOSFullPeerInfoRef circle_full_peer_info = (SOSFullPeerInfoRef) CFDictionaryGetValue(account->circle_identities, name); if (circle_full_peer_info) { SOSFullPeerInfoPurgePersistentKey(circle_full_peer_info, NULL); } CFDictionaryRemoveValue(account->circle_identities, name); return true; }