iOS Today Extension / widget -- location permissions? - objective-c

I'm writing an app which is location-based, and includes a Today extension (widget)... What I can't seem to figure out is this. When deciding whether to require access to location "always" versus "while using", does having the Today view active with my widget showing qualify as "using" the app? In other words, as long as I only need the user's location when they have the widget visible in their Today view, is it sufficient just to have the "while using" permission?

Yes, it's sufficient. I'm using the "while using" permission in my widget and did not have any problems with it.

Related

Google Background Location Acccess Disclouser

I am working on a Task which need to Access Users Location on Every 5 Minutes even when the App is Killes or Closed.
I have Already Achived it. But google play console Restricted me with the below message.
Prominent disclosure not found
Your app must display a prominent disclosure through a pop-up alert before your app’s location runtime permission. Based on our review, a prominent disclosure did not appear before the runtime permission.
Please add a prominent disclosure before the runtime permission.
• Include at least the following sentence, adapted to include all the relevant features requesting access to location in the background in the app that are readily visible to the user: “This app collects location data to enable ["feature"], ["feature"], & ["feature"] even when the app is closed or not in use.” If you extend permitted usage to ads, please also include: “This data is also used to provide ads/support advertising/support ads.”
• Include any other details necessary to make it clear to the user how and why you are using location in the background. While additional content is permitted, it should not cause the required content to not be immediately visible.
I have also Added Pop Up, But i am Confused about, Should i Show that Pop Up Every Time On Accessing Location Or Only Once when App Being Installed,
Any help or Lead will be Appreaciated , (Respect)
Rajat.
After doing some Resaerch work on my Question, I have found a Answer for this Question.
We dont need to to show pop-up everytime on accessing location from background.
This popup will shown only once in a app maybe in HomeScreen after app install first time.
Proof of Answer
In genrealy, you pop-up dialog should appear before your app’s location runtime permission including
Include at least the following sentence, adapted to include all the
relevant features requesting access to location in the background in
the app that are readily visible to the user: “This app collects
location data to enable ["feature"], ["feature"], & ["feature"] even
when the app is closed or not in use.” Include any other details
necessary to make it clear to the user how and why you are using
location in the background. While additional content is permitted, it
should not cause the required content to not be immediately visible.
Include the following sentence, if you extend permitted usage to ads:
“This data is also used to provide ads.”

Custom view to allow location services

I want to be able to create my own view to allow location services from my iOS app. I've read here that it's possible to customise the description of the default iOS location services alert, but what I want is making my own view.
Is this possible?
Thanks!
No, it is not possible. All you can/should do is popping it at the right time. You should make sure that user is informed that permission is really needed, according to several researches (yes, citation needed :) ).
EDIT: it pops up when you first call start monitoring/updating location method from your CLLocationManager instance.
Since iOS8, you should call requestWhenInUseAuthorization or requestAlwaysAuthorization for it to pop up.
Here you can find some very good ideas about it.
Since you can not change the Apple Services Authorisations;
I would recommend you to create your custom view with "allow" & "dont allow" buttons. And than on "allow" pressed request apple permission witch will prompt the iOS or mac OS alert.
Though it seems not user-friendly. Apple users are used to this. Nobody will mind, and you will still show your own design. A lot of famous apps do that.

How to re-allow my app to use the current location

I am using CLLocationManager to find the location.The first time that I run the app for mistake I didn't allow the app to use the current location.
So every time the delegate gets notified through the locationManager:didFailWithError selector.
I tried to make a clean build and to delete the project folder in derived data, but it still doesn't ask me to use the current location.
I would make possibile to re-select through that panel if I would use the location, how is that possibile?
You have to delete the application from the simulator or phone and then run another build onto the device.
I hope I understood you correctly, if I think that this is not a coding issue:
If you are on iOS6, you'll have to allow location services for the app at
Settings > Privacy > Location Services.
For more info, see Apple's documentation here: http://support.apple.com/kb/HT5467?viewlocale=en_US&locale=en_US

CLLocationManager "turn on location services..." alertview customization ios

I know that I can't change the title or the buttons for this alertview, but i've seen numerous apps that changed the message of the alert view
Something like this
Also, I have the Bump API in my app so everytime the popup shows, it says "Bump uses your location to help determine whom you are bumping." and I don't want that displayed when they first use my app.
Does anybody know how I can change the message or change bump's message?
Thanks
To change the message of the alert, use the "purpose" property of CLLocationManager. Check the docs: http://developer.apple.com/library/IOs/#documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html
I'm not sure how the Bump API works, but if you are just importing all the classes you need, you should be able to edit the location services message. Otherwise, one option would be to request location access before calling the Bump API's to get permission for your app. Once Bump checks, it will already have permission and skip presenting its own.

Confirm user's selection of "Don't Allow" location services

I am using location services in my app. Initially the app asks the user to allow finding the current location. If the user says "Don't Allow", can I show one more alert to confirm that choice? Then, if the user says "Allow" in that second dialogue, can the app get the current location?
No you can't, it is managed by the the system.
You can/should check if the user allowing you app to get the current location.
Because you can change this in the settings app
Check can be done like this:
if (![CLLocationManager locationServicesEnabled]) {
// location can not be retrieved.
}
i think..................
its a not possible beacuse its a default setting of iPhone ....
if u get answer please reply ....in this page......
but u change the setting of iphone, go to setting icon , go to general icon , go to current location and on this button...
sry for poor english
The question is who is showing the second message.
If it's CoreLocation that is showing the message than the last answer is the one that counts - so if it was "allow" then you can.
However - if after the "Disallow" you show your own custom message - the answer there has no affect.
It must come from CoreLocation