This topic is asked before a couple of times but i don’t found the correct answer, the problem is that apple rejected my app and i need to remove the permissions that expo created by default.
My app doesn’t use any permissions also i know that for android is more easy just “permissions”: so i want the same for ios, i don’t like the solution to override the default message.
I tried to put: “infoPlist”: {} but it doesn’t work and i don’t want to do eject.
Sorry if the answer is on one topic and thanks for expo.
Although it looks like a rejection, your app probably has been successfully submitted to App Store Connect. The message you received from Apple Review is just a warning message. Please see this topic — Rejected from app store - missing location string - #4 by sjchmiela.
It may also be that I’m wrong and Apple Review really rejected your app—if so, please correct me and follow up with more details regarding the rejection.
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
Also, we noticed that your app requests the user’s consent to access their location, microphone, calendar, photos, camera, control, and reminders but does not clarify the use of this feature in the permission modal alert.
And expo create this:
<key>NSCalendarsUsageDescription</key>
<string>Allow . to access your calendar</string>
<key>NSCameraUsageDescription</key>
<string>Allow . to use your camera</string>
<key>NSContactsUsageDescription</key>
<string>Allow . to access your contacts</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Allow . to use your location</string>
<key>NSMicrophoneUsageDescription</key>
<string>Allow . to access your microphone</string>
<key>NSMotionUsageDescription</key>
<string>Allow . to access your device's accelerometer</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Give . permission to save photos</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Give . permission to access your photos</string>
<key>NSRemindersUsageDescription</key>
<string>Allow . to access your reminders</string>
so i want to remove most of them permissions because my app doesn’t use only modal
If its possible to do ??? only configure on app.json the permissions that i use
First of all, have you detached your application? Do you build the IPA yourself, or do you use exp build:ios?
Secondly, the code block you’ve posted has been created by Expo by taking eg. Allow ${name} to access your calendar template string and filling the name in. It looks like at the moment of interpolating, you had your app configured to the name of ".". Maybe if you’d change it to the proper name of your app Apple Review wouldn’t have problems with the descriptions?
Lastly, it would be possible to remove parts of Permissions API code, however, you’d have to detach and edit source code of ExpoKit pod. It sounds dangerous, but in fact wouldn’t be that hard. Note that all other apps built by Expo follow the same path when it comes to permissions descriptions, although they don’t use most of the permissions they could theoretically ask for, a general usage descriptions is ok for Apple Review.
The new message from apple:
Missing Purpose String in Info.plist File. Your app’s code references one or more APIs that access sensitive user data. The app’s Info.plist file should contain a NSLocationAlwaysUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting spring 2019, all apps submitted to the App Store that access user data will be required to include a purpose string.If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required.