I’m using an iPhone 5 / iPad 4th gen both with iOS 8 GM, Xcode 6.0 and Unity 4.6.0b17
I’ve been having trouble with location services on the devices… very frustrating as I previously had this working.

To rule out any other issues, I crated an empty project with a scene containing a cube.
I attached the following script from unity script reference: Unity - Scripting API: LocationService.Start
And installed the application on my device.
Additionally, I tried a second new project using U3DXT examples scene unmodified and installed it on my device also.

Firstly I’m not prompted to enable location services in either application, and in the unity script reference application, a location of 0,0,0,0 is returned.

In the device Settings > Privacy > Location Services, my applications are listed but no selection appears in the tableview. If I select ‘always’ in the setting screen and return to either application the location still is not determined.
When I recheck the Settings > Privacy > Location Services after relaunching the application, the ‘always’ selection seems to have reset to having no selection.

An older build I created a while back seems to be working correctly.

Does this seem like a iOS 8 GM issue? Is it possible I’ve inadvertently done something silly to a setting in Unity?

Any thoughts or suggestions would be helpful.

Hi there, first of all I’m using Unity 4.5.4f1 but the solution should be the same. After you build an Xcode project from Unity, open it it Xcode and then:

 * Find -> Find in Project
 * Search for: startUpdatingLocation
 * It should find 2 source files:  "iPhone_Sensors.h" and  "iPhone_Sensors.mm" 
 * Open "iPhone_Sensors.h" and add:

    #define IS_OS_8_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

 * Open iPhone_Sensors.mm and before the line:

    [locationManager startUpdatingLocation];

    Add the following code:

    if(IS_OS_8_OR_LATER) {
       [locationManager requestAlwaysAuthorization];
    }
	
 * At the end add "NSLocationAlwaysUsageDescription" to your Info.plist as a string with your customized message.

See more at: Apple improves Location Services in iOS 8 with “When In Use” mode, Visit Monitoring - 9to5Mac

It seems 4.5.5p1 is such a patch, see Download Archive

I recommend to install at least patch 2 however as patch 1 contains a new bug.