On 19 Sep 2014, at 20:21, Roland King <r...@rols.org> wrote:

> 
>> On 19 Sep 2014, at 8:59 pm, Gerriet M. Denkmann <gerr...@mdenkmann.de> wrote:
>> 
>> My iOS app running on 8.0 says:
>> "Trying to start MapKit location updates without prompting for location 
>> authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] 
>> or -[CLLocationManager requestAlwaysAuthorization] first."
>> 
>> Two questions:
>> 1. where is requestWhenInUseAuthorization documented?
> 
> In the documentation for CLLocationManager, for iOS, not OSX. It’s worth 
> remembering at this point the recent conversations on the Xcode list about 
> how the documentation for Xcode is entirely borked, not coming from what’s 
> local on the box and showing anything it feels like whether you ask for OSX 
> or iOS, you’re probably looking at the OSX one even though you didn’t ask for 
> it. use google, or Dash. 

You are right. I asked for iOS and got something talking about 10.6 - obviously 
OS X stuff.
> 
> 
>> 
>> 2. Where am I "trying to start MapKit location updates" ? I don't do this 
>> knowingly. 
>> Or qualifies the mere usage of MapKit as "trying to start MapKit location 
>> updates”?
> 
> I have no idea. What are you doing which uses maps, or core location? 

I have a MKMapView
> 
>> 
>> Where or when should I ask for authorisation?  AppDidFinishLunching?
> 
> Avoiding the obvious joke about apps being happy after they have finished 
> lunch .. 
> 
> That would be exactly the place Apple recommends you *don’t* ask for it. 
> Possibly, very possibly if you were asking for requestAlwaysAuthorization it 
> might be a place to do it, but the recommendation is never to ask for blanket 
> permission at the start of an app before the user has a clue why you want it, 
> but ask only at or around the point they have requested something which they 
> will understand is the cause of your app asking for permission. Else they 
> normally either say no or say no, delete your app and give it a one-star 
> rating. So you need to figure out what it is you’re doing which triggers the 
> request and ask in response to a user action. 

So I put it into viewDidLoad of the view controller for the MapView.

But:

authorizationStatus = kCLAuthorizationStatusNotDetermined
locationServicesEnabled = YES

so I do (as recommended):
[ self.locationManager requestWhenInUseAuthorization ];

Now I would expect a panel to come up, asking the user "Do you want to allow 
this app to use Location Services?"
But nothing is seen (iOS 8.0).

And when I ask the manager for a location, I just get nil.

Later on I get: locationManager:didChangeAuthorizationStatus: 
kCLAuthorizationStatusNotDetermined

and: "Trying to start MapKit location updates without prompting for location 
authorization."

Not very useful.


Kind regards,

Gerriet.


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to