So we have a lightly customized version of Moodle Mobile that we've been using for about 6 months without issue. But we must have gotten a particularly grumpy reviewer for our latest update, since they're rejecting our app based on parts of it that are the same as stock Moodle Mobile.
First, they didn't like the string Moodle Mobile uses when requesting to use the camera. I've got the same string as stock Moodle Mobile: "We'd like to access your camera to let you take a photo". Personally I think it's pretty obvious what we want the camera for if the user clicks the "edit" button next to their blank profile picture and then selects "Camera" from the "New Picture" dropdown, but apparently Apple disagrees, because they said
Regarding your app’s permission modal alert, the purpose of accessing the user’s camera must be stated within the modal alert.
To resolve this issue, it would be appropriate to revise the permission modal alert to specify why the app is requesting access to the user's camera.
So I updated the string to say "We'd like to access your camera to let you take a photo to use as your profile picture". This works for us because the only time our customized app accesses the camera is when uploading a profile picture, since we got rid of the "My Files" section that allowed you to use the camera to upload photos to your private files. I have no idea what we'll do if we re-enable that feature.
Next, Apple had an issue with the app's use of background audio. I think this comes from the plugin nl.kingsquare.cordova.background-audio which stock Moodle Mobile includes by default. The plugin's description says:
Support an iOS application playing audio in the background.When included within a cordova build then the application will support background audio for iOS out of the box. No further action is necessary.
Anyway, Apple had this to say about it:
We have started the review of your app, but we are not able to continue because we need access to a video that demonstrates the current version of your app in use on a physical iOS device.
Specifically, since your app declares support for audioin the UIBackgroundModes key in your Info.plist, please demonstrate the background audio feature(s) while the app is running in the background.
Please ensure the video you provide shows a physical iOS device (not a simulator).
...which seems pretty excessive to me. But what can you do?
Just thought I'd give a heads up to the Moodle team and anyone else who wants a speedy review.