I love my iPhone and I love it's Bluetooth tethering capability. I use it every day for at least two hours. Much to my dismay, one day it stopped working without explanation. On my mac the Bluetooth 'Connect to Network' menu item was disabled, and for the life of me I couldn't figure out what was wrong — no error messages, no log entries, no clues to speak of. Yesterday I stumbled upon the problem by accident. What follows is some basic instructions that helped me to get it working again. These instructions are only applicable to software developers provisioning apps to their iPhone via XCode.

The underlying problem turned out to be some iPhone provisioning profiles that had expired. If you've had expiring provisioning profiles on your device before, then you know that the iPhone will warn you many times as the expiry date approaches. In the Settings app of your iPhone, tap through General -> Profiles, select any expired profiles and press the Remove button. Once the rogue profiles are removed from your phone, start up XCode on your mac and from the menu select Window -> Organizer. From the Organizer, select Provisioning Profiles under IPHONE DEVELOPMENT.

Delete any expired provisioning profiles using the context menu. After completing this step, exit XCode and you're done! Your Connect to Network menu item should now be enabled, and tethering should now be restored to its normal greatness.