I just bought a new MacBook Pro with a nano-texture display. (Some people say that I'm an "Apple hater", but my credit card says otherwise.) I'll be blogging more about my new MacBook Pro later, but first I need to solicit help from the internet. Perhaps an Apple engineer is reading this? My problem is that I'm unable to select "Contacts Only" in AirDrop discovery. According to the Apple Platform Security guide:
AirDrop uses iCloud services to help users authenticate. When a user signs in to iCloud, a 2048-bit RSA identity is stored on the device, and when the user turns on AirDrop, an AirDrop short identity hash is created based on the email addresses and phone numbers associated with the user’s Apple Account.
When a user chooses AirDrop as the method for sharing an item, the sending device emits an AirDrop signal over BLE that includes the user’s AirDrop short identity hash. Other Apple devices that are awake, in close proximity, and have AirDrop turned on, detect the signal and respond using peer-to-peer Wi-Fi, so that the sending device can discover the identity of any responding devices.
In Contacts Only mode, the received AirDrop short identity hash is compared with hashes of people in the receiving device’s Contacts app. If a match is found, the receiving device responds over peer-to-peer Wi-Fi with its identity information. If there is no match, the device doesn’t respond.
I have a theory about the problem. I signed my new MacBook Pro into iCloud before I imported my contacts from my old Mac. Indeed, I signed into iCloud before importing any data from my old Mac. The purpose of this was to prevent iCloud from uploading any of my data without my consent, which iCloud tends to do. I avoid iCloud for personal use and enable it only to test my software for customers. (I finally gave in and gave customers iCloud sync after years of requests.) Importing my Contacts database on my new MacBook Pro erased the previous contacts, which consisted solely of a generic, blank "me" card, the default. My theory, then, is that the AirDrop identity hash on my new MacBook Pro was made from this contact, and deleting the contact broke AirDrop Contacts Only.
My question is, can I regenerate the AirDrop identity hash somehow on my new MacBook Pro? For example, is there a specific entry in Keychain Access Local Items that I can delete?
I fear that the answer may be "log out of iCloud and log in again." That's something I don't want to do, for the exact same reason that I logged into iCloud before importing any of my data. iCloud is pushy, greedy, and disrespectful of user consent.