I noticed that when my app displays the Location Services authorization dialog, the app gets suspended for a short while (it receives the UIApplicationWillResignActiveNotification notification). Is this documented or discussed somewhere? What could be the reason? Do other authorization dialogs also do it?
I’m still interested in some authoritative resources on this, but after some thinking the behaviour makes sense. The authorization dialog can’t be a part of the app, since that could create a security risk: the app could try to confirm the dialog on user’s behalf. And since the dialog is not a part of the app, it makes sense to consider the app deactivated while the pop-up is being displayed. It looks like all authorization dialogs do it.
Related
I'm working on an app made in React Native with Expo.
It uses a web view to show the site in the app.
Everything worked well, but when I submitted my app to the App Store, it got rejected.
The mail said:
We noticed you collect data to track after the user selects "Ask App
Not to Track" on the App Tracking Transparency permission request.
Specifically, we noticed your app accesses web content you own and
collects cookies for tracking after the user asked you not to track
them.
After that, using the expo tracking transparency library, I added a permission request to track data.
If the user doesn't accept it, I disable third party cookies on the web view.
After submitting again to the App Store, I got the exact same message.
I don't know what to do, because I can't control the site, and I'm limited to the React Native web view props
Maybe, I could enable incognito mode if the user doesn't want the app to track, but I'm not sure if this will be accepted too.
i had the same issue i solved it like this:
change the privacy of the app on apple store, go to app privacy and in data types section click edit and select Identifiers (Device ID) and set this one as used for tracking purposes. and make sure that this is the only one selected as used for tracking.
also make sure that the permission is showing on real device (so test it first on TestFlight).
another thing is you need to tell them where you show this permission send them video to tell them where you show the permission.
Apple has rejected the app due to this:
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requests the user’s consent to access the location, but doesn’t sufficiently explain the use of the location in the purpose string.
To help users make informed decisions about how their data is used, all permission request alerts need to specify how your app will use the requested information.
But we do not use any location service on the app. Apple mentioned screen is coming through the 3rd party web app. i.e. we have used "In-app browser" here. Since we cannot control the Location text on the 3rd party PWA app we cannot do anything here. So can you tell us how to overcome this kind of situation?
Reson from the Apple:
i.e. this shows on the in-app browser. not our app's message. no control from our side
Have you tested putting in a NSLocationWhenInUseUsageDescription, NSLocationAlwaysAndWhenInUseUsageDescription, NSLocationUsageDescription or NSLocationAlwaysUsageDescription in your Info.plist?
It might override the 3rd party's so you can make it more detailed but you have to include their privacy policy in yours. Since ultimately whatever they do is your responsibility.
I would be skeptical about using a 3rd party that requires location for a browser.
The text shown in this alert, "Allow Geolocation," is probably provided by the Ionic Framework (based on your tags). While you didn't write this code, it's still code you're providing (rather than Apple) so it's your responsibility.
Like Lorem Ipsum said, you might be able to override the text yourself - by that method or another method – but regardless the responsibility is on you to manage your libraries and dependencies, even though you didn't write them.
I have a small app up and running for myself. It's an app homepage with buttons that shoot requests out to our hosted app, which returns modal payloads. It works perfectly for me.
When I began development I had to ask that the app be installed by our admin.
When other users in the same workspace attempt to install it they're greeted with "This is still a work in progress" instead of the app homepage.
I don't wish to distribute the app beyond my current workspace so I don't think I need to implement the o-auth flow. Any hints? I'm sure I'm missing something small.
The issue was that I was using a Home surface. To use app home surface you have to display it for each individual user, not a single time for the app, as I suspected.
When the user clicks on the app home page, it triggers an event that sends a payload to the URL you specify in the app's event subscription settings. You have to respond to slack api's /views.publish endpoint with a payload that defines the home appearance for that particular user. The user id is in the initial request payload.
I have a UWP app with a WebView that may browse to webpages that request special permissions like the microphone, camera, or geolocation. For instance, I login to web.skype.com, it will request microphone and camera access. I added these capabilities to the appxmanifest so that it Windows prompts for permission. The problem with this is that I have no control over the UI of the popup that is displayed. My users may have special access needs (e.g. using an eye tracker) and I want to ensure they do not get stuck if one of these dialogs appears.
1) Is there any event or notification that Windows is about to show the dialog? I thought WebView.PermissionRequested was supposed to do this, but I am seeing that it is not invoked when I go to web.skype.com for microphone/camera permission, nor for weather.com for geolocation permission. Is there a different event at the app level that I can use for this? That way I can at least warn the user that a non-accessible dialog is about to appear so that they can prepare for it (e.g. ask for help).
Edit: For instance, app.xaml.cs has some virtual methods like OnFileOpenPickerActivated. I need something like OnPermissionRequested.
2) Is it possible to customize this UI in any way? Preferably I could replace the whole thing with my view. Next best would be to change the text to something like "Let web.skype.com access your microphone?" rather than "Let access your microphone?"
My question was answered in the msdn forums, quoted here:
Hi J.Nelson Tdx
Is there any event or notification that Windows is about to show the dialog?
The dialog will appear only when you need to use the related APIs. There is no such event that could will be fired before the permission dialog shows. You could submit a feature request in the User Voice.
Is it possible to customize this UI in any way?
Currently, it is not possible to customize the Warning Alert. This is by design.
Best regards,
Roy
I have designed an app where the app needs to enable the GPS. There is a page for the user which ask use GPS? To this answer there are 2 options YES and NO. Now my concern is when user clicks on YES he should be directed to settings page and that part is done but now after enabling the GPS from this page the user should redirect to the app again but unfortunately there is no way as there is no back button in the setting page.. Please suggest what I can do in this regards?
As far as I know, the only way to open your app (aside from user tap your app or a related notification) is to do some custom url handling. but unfortunately you can't do such a thing. The other thing you can try is to:
Setup a background thread when your app goes to background
check for location service availability
if it changed to your desired value, open a custom url which in turn will open your app (you should register for hat particular url in your info.plist and such)
but There are some things to keep in mind:
Such Behavior will almost surely get your app rejected by Apple.
in iOS 9+ Apple added a new feature that will help you in this particular problem. when an app gets opened from another app (settings.app for you here) it will add a Back to xxxx in place for network indicator to help user get back were he was.
So, IMHO leave the user experience be as it is for all other applications and don't worry about how he would get back to your app.