PushSafer iOS app launch behaviour
Posted: 20. Jul 2019, 05:53
I'm new to Pushsafer. I've registered, installed the app on three iOS devices, sent some test messages, had notifications turn up, and so on. All that side of things seems to be working brilliantly.
But I've noticed two oddities when launching the app on my iOS devices (all running iOS 12.3.1). I am using the word "launch" to mean "the app is not running in the background when I tap its icon on the home screen". I will use the word "relaunch" to mean "switching the app which is running in the background to the foreground".
First, if I set "Location Services" to "While Using the App", then each time I launch the app by tapping on it in the home screen, it throws up an alert saying "Pushsafer requires location tracking permission. Would you like to open app settings?" followed by "Cancel" and "OK" buttons.
If I tap "Cancel" then another alert says "Attention: Turn off reminder to access the current location?" along with "Yes" and "No". If I tap "No" then the app sits at the login screen (ie does not auto-login). If I then press the Home button and relaunch the app, it does not re-display the location services alert and automatically logs-in.
If I click "OK", I am taken to "Settings". If I make no changes to the "Location Services" options and instead do nothing other than return to Pushsafer (either by the "back" link at the top, left of the screen, or by pressing the Home button and relaunching Pushsafer), the app does not re-display the location services alert and auto-logs-in.
Fairly obviously, if I either change "Location Services" to "Always" or click "Yes" at the ""Attention: Turn off reminder to access the current location?" then this problem will go away, but I should not have to do that. By definition, at the moment when the "Pushsafer requires location tracking permission" alert is displayed, Pushsafer is running, so "While Using the App" is in force. It seems to me that any internal test for the availability of location services should not be failing. In other words, I think this alert indicates a logic error in the app.
Second, assume that I have changed "Location Services" to "Always" (ie so that the alerts mentioned above do not appear). On launch (remember this means "was not running"), the app always sits at the Registration screen and does not auto-login. If I click the Home button and relaunch (remember this means "was running in the background") then the app completes the auto-login process.
Granted, most of the time when you are actually using the app (instead of just perusing the system's pulldown list of notifications) then it is no big deal to do a launch/relaunch to avoid having to re-enter credentials. But it seems to me that, just like the "location services" issue, this auto-login behavioural difference suggests that the "launch" vs "relaunch" code paths are somehow in conflict.
But I've noticed two oddities when launching the app on my iOS devices (all running iOS 12.3.1). I am using the word "launch" to mean "the app is not running in the background when I tap its icon on the home screen". I will use the word "relaunch" to mean "switching the app which is running in the background to the foreground".
First, if I set "Location Services" to "While Using the App", then each time I launch the app by tapping on it in the home screen, it throws up an alert saying "Pushsafer requires location tracking permission. Would you like to open app settings?" followed by "Cancel" and "OK" buttons.
If I tap "Cancel" then another alert says "Attention: Turn off reminder to access the current location?" along with "Yes" and "No". If I tap "No" then the app sits at the login screen (ie does not auto-login). If I then press the Home button and relaunch the app, it does not re-display the location services alert and automatically logs-in.
If I click "OK", I am taken to "Settings". If I make no changes to the "Location Services" options and instead do nothing other than return to Pushsafer (either by the "back" link at the top, left of the screen, or by pressing the Home button and relaunching Pushsafer), the app does not re-display the location services alert and auto-logs-in.
Fairly obviously, if I either change "Location Services" to "Always" or click "Yes" at the ""Attention: Turn off reminder to access the current location?" then this problem will go away, but I should not have to do that. By definition, at the moment when the "Pushsafer requires location tracking permission" alert is displayed, Pushsafer is running, so "While Using the App" is in force. It seems to me that any internal test for the availability of location services should not be failing. In other words, I think this alert indicates a logic error in the app.
Second, assume that I have changed "Location Services" to "Always" (ie so that the alerts mentioned above do not appear). On launch (remember this means "was not running"), the app always sits at the Registration screen and does not auto-login. If I click the Home button and relaunch (remember this means "was running in the background") then the app completes the auto-login process.
Granted, most of the time when you are actually using the app (instead of just perusing the system's pulldown list of notifications) then it is no big deal to do a launch/relaunch to avoid having to re-enter credentials. But it seems to me that, just like the "location services" issue, this auto-login behavioural difference suggests that the "launch" vs "relaunch" code paths are somehow in conflict.