After upgrading iOS 8, you will find that the program that needs to be located does not eject the system's request location permission pop-up box on the first boot, and will cause the program to be unable to locate. This is due to some changes in iOS 8SDK,
Here is the workaround:
First step: Need to call Cllocationmanager's requestalwaysauthorization (for background location) before locating or requestwheninuseauthorization (location only when foreground) this basically solves the problem, the second step is optional.
Part II: Add Nslocationalwaysusagedescription or Nslocationwheninuseusagedescription to your info.plist (choose from the different positioning strategies you have before) key , specifying a sentence as its value. This allows the program to be positioned when the popup is opened for the first time, and the value as an explanation for positioning is also popped.
I hope we can solve the problem of your location failure.
IOS 8 Location Failure issue