As a writer of apps—such as TV Towers USA
—which rely on the device's compass, I periodically would hear from users who don't see the compass in my apps. This confused me as they would also report the built in iPhone compass app working. And the apps worked perfectly well for me.
I've finally figured out what is going on. At some point, the users had turned off compass calibration in their location privacy settings. And since my apps are set to request calibrated data, the app gets no compass data at all.
So, to fix, open the iOS Settings app.
Tap the Privacy item:
Tap the Location Services privacy item:
Tap the System Services item (way down on the bottom):
If Compass Calibration is disabled, then this was likely your problem. Enable it.
And, I hope, your app will go from not having an active compass, to having one:
I should look into detecting this condition and warning the user. Hope this helps.