sparrowcode / PermissionsKit

Universal API for request permission and get its statuses.
https://x.com/sparrowcode_ios
MIT License
5.64k stars 462 forks source link

AppStore rejection #229

Closed ehlersd closed 3 years ago

ehlersd commented 3 years ago

Just an FYI…Apple rejected an update to our app this week due to the ability to dismiss the SPPermissions dialog without presenting the native Apple Permissions dialog(s).

They stated that while we can still display a popup describing the permissions we want and why we want it, we cannot allow the user to dismiss that dialog and skip the actual native request.

This seems to be a new rule that ties into the new App Tracking Permissions (which we do not use), but does affect all permissions.

ivanvorobei commented 3 years ago

Thanks for feedback. True, some users got it too. I now not have plans apply any changes, becouse many apps approved with dismissible dialog. Let's see how it going.

chepiok commented 3 years ago

Exactly same reject with the AppStore today. On four versions with the same SPPermissions usage, 3 rejects, 1 validation. Definitively not fully clear on Apple side.

ivanvorobei commented 3 years ago

@chepiok thanks for information. Lets look now it going next. Now you should hide close button I think.

chepiok commented 3 years ago

hide close button

I don't think this will work as the only solution is to grant all permissions to close the permission controller. The only way is probably to sequence each permission. A complete redefinition of the process...

ivanvorobei commented 3 years ago

@chepiok can you describe your idea?

chepiok commented 3 years ago

I mean just sequencing iOS native request when request is not yet granted. I agree it's a poor UI ! I don't have a steady opinion right now on the best solution to update my app.

ludivinefafournoux commented 3 years ago

Hi, I have the same problem and I have more informations

Thank you for your message. We're happy to provide additional information to help you resolve this issue.

We understand that you want to explain to the user how their location is being used. However, to resolve the guideline 5.1.1 issue, it would be appropriate to revise the permission request process in your app so that the user is not encouraged or directed in an inappropriate way.

Protecting user privacy is essential in the Apple ecosystem. Keep these general requirements in mind when designing permission requests in your app:

  • Don't include messages or user interface elements that may confuse or mislead users.

  • Don't use words like "Allow" or "Accept" on the buttons if you display a custom message before the permission request.

  • Don't ask the user to change their mind if they deny permission.

  • You may provide more information about why you're requesting access before the permission request appears. If you do, don't include an option to dismiss the message without proceeding to the permission request.

We look forward to reviewing your app once the appropriate changes have been made.

ivanvorobei commented 3 years ago

I see you can hide close button for solve issue.

ludivinefafournoux commented 3 years ago

Yes but we have to change button title too.

ivanvorobei commented 3 years ago

Honestly I don't understand which text they want see. Any idea?

h3smith commented 3 years ago

It sounds like "Request" would be a substitution for "Allow" and get past the reviewers.

ludivinefafournoux commented 3 years ago

There are exemples here: Guidelines

Words like « continue » for example

ludivinefafournoux commented 3 years ago

If we disable the "X" button, when the user deny all permissions, we have to close the popup, is there a way to do that easily ?

ivanvorobei commented 3 years ago

You should implement delegate and compare list of requested permissions.

abbassiNotes commented 3 years ago

HI I have the same problem too. How one would change the text on button to Next or continue

We noticed your app encourages or directs users to allow the app to access the camera. Specifically, your app directs the user to grant permission in the following way(s):

  • A message appears before the permission request, and to proceed users press an “Allow” button. Use words like "Continue" or "Next" on the button instead.
  • A message appears before the permission request, and the user can close the message and delay the permission request with the “X” button. The user should always proceed to the permission request after the message.

Permission requests give users control of their personal information. It is important to respect their decision about how their data is used.

ivanvorobei commented 3 years ago

So, I got some email with same problems from other developers.

I am going to do it: 1) Change button title from allow to continue in default text 2) Hide close button for all present styles 3) For now save swipe for hide for dialog and table styles

It will release today with version 6.4.

ivanvorobei commented 3 years ago

Released 6.4.0 version. Also added explanation section about this problem here.