moko-permissions icon indicating copy to clipboard operation
moko-permissions copied to clipboard

AppStore connect rejects due to undescribed permissions

Open theHonzic opened this issue 1 year ago • 8 comments

We've just been denied publishing to App Store Connect due to missing descriptions of permissions we do not use. We only use the location and coarse location permissions in the application. However we are asked to add description for NSContactsUsageDescription, NSMotionUsageDescription and NSBluetoothAlwaysUsageDescription.

Apple says this: "While your app might not use these APIs a purpose string is still required."

One way to fix this is by adding the values in info.plist, but doing this the app description will include permissions it does not use in the AppStore.

theHonzic avatar Jan 31 '24 10:01 theHonzic

in our apps we just add mock description inside Info.plist and all ok.

someday library will be splitted by each permission, but now you can do same that we do.

Alex009 avatar Jan 31 '24 11:01 Alex009

it will not accept in review app

the-best-is-best avatar Jul 30 '24 14:07 the-best-is-best

@the-best-is-best we have multiple apps that successful pass review.

Alex009 avatar Jul 30 '24 14:07 Alex009

Well, what do you add to the string description for permissions in the plist information that you don't need?

the-best-is-best avatar Jul 30 '24 14:07 the-best-is-best

@theHonzic

Are u adding it but the string is empty or what ?

the-best-is-best avatar Jul 30 '24 14:07 the-best-is-best

@the-best-is-best feel free to use my fork with contacts, motion and bluetooth removed: https://github.com/MeLlamoPablo/moko-permissions

You can import it as a git submodule, and then on settings.gradle.kts add:

includeBuild("./external/moko-permissions") // path to your submodule

Then, you give it a different version name, like 0.18.0-slow in my case, and use it in your libs.versions.toml. Note that you may need to update some build settings from moko-permissions to make it work with your local gradle build. In my case I had to use the same version of Android Gradle Plugin, update to Gradle 8 and add jvmTarget = "1.8" to both moko-permissions and moko-permissions-compose.

MeLlamoPablo avatar Aug 27 '24 19:08 MeLlamoPablo

@Alex009 if you're willing to accept PRs, I'm happy to help with the package splitting. I assume we would want to create different packages for each iOS permission controller, and then have a way of "installing" them on factory.createPermissionsController. Otherwise, please let me know an alternative approach and I'll be glad to code something!

MeLlamoPablo avatar Aug 27 '24 19:08 MeLlamoPablo