I use the GoNative mobile wrapper to put my app in the Android and Apple app stores. GPS is a requirement of my application. For the record, I’ve contacted Bubble and GoNative support for help on this and didn’t much out of it so I’m seeing if the community has any ideas.
The issue is that Apple has tightened their restrictions on how you ask for location. As soon as you open my app it immediately asks “https://***.com wants to know your location”, which is just the default Safari prompt. Now, Apple requires you to use the official dialogue which would say something more like “App wants to know your location for X reason”, with a detailed explanation. I’ve already set this up in Xcode and it works, but Bubble still asks for the location first with the generic message before the proper one comes up so I cannot get approved to update anymore.
The GoNative documentation covers how to get around this problem: https://gonative.io/docs#native-js-location-prompt
However, of course, I can’t stop Bubble from asking for the location from the elements and workflows. There’s even a bug I found that even if I delay this particular workflow by X seconds, or even have it not activate at all (make the condition to run it never true), if that workflow is on the page it still immediately asks for location data. I can’t wrap the Bubble code with this, so it fires instead of prompting the proper GPS message:
if (navigator.userAgent.indexOf('gonative') > -1) {
function gonative_geolocation_ready() {
// call navigator.geolocation.getCurrentPosition in function call
}
}
else {
// call navigator geolocation.getCurrentPosition right away directly
}
I’m at a loss here now. I HAVE to get my app updated soon, it’s already months out of date and completely broken on iPhone X which will be fixed with this update. And my app description is terribly out of date too, and wouldn’t you know it - can’t change it without updating the app.
If you’ve read this far, thanks!