App tries to go online without permission from user

Chris Walters 10 years ago updated by Alexander Blach (Developer) 10 years ago 4
Textastic tries to establish a connection with the Internet each time I first launch it, even though I don't have any servers set up in the app and have given it no instruction to go online.

Is the app dialing back to home, so to speak, to report data about my usage or device specs to you? Or is this a quirk/bug? If I put the iPad in airplane mode or at least disable Wi-Fi, the app stops trying to go online.

Textastic does not try to send data to a server when you launch it. There is no code that connects to any server without the user initiating such an action. Also, there isn't any code in Textastic that "phones home" nor is there any analytics code in the app.

Why do you think it would do that? Can you give me more details? Did you get any messages or alerts saying otherwise? Did your Firewall intercept anything?

The only thing I could see is a setting in Info.plist: the setting UIRequiresPersistentWiFi/"Application uses Wi-Fi" is set to "YES". The description for this setting in Apple's documentation is: "specifies whether the application requires a Wi-Fi connection. iOS maintains the active Wi-Fi connection open while the application is running."

This is enabled so that the builtin WebDAV server works without problems. I think iOS also prompts the user to connect to a Wifi network when this is set. Maybe this is what you are seeing?
Interesting. Here's where I experience it:

I'm at a Starbucks, where I've previously authorized Wi-Fi access on my iPad. But you have to log in to the Wi-Fi network by accepting the terms on an iOS system-wide slide-up screen. When I'm writing I usually don't bother, because I don't need to go online for anything.

I don't activate airplane mode because I need Bluetooth to connect my keyboard. So, if I've also left the Wi-Fi functionality turned on and I launch Textastic while at Starbucks, the slide-up authorization screen I described above will come up each time I view the launch screen of Textastic. If I turn off Wi-Fi functionality entirely, the problem goes away.

It's obviously not a big problem to turn it off entirely since I'm not using it, but I grew curious about why it was happening at all. I had a Dropbox account set up in Textastic when I first saw what was happening, so I deleted that, force-quit Textastic and rebooted my iPad, and the problem persisted.

I'm using an iPad 1 running iOS 4.3.3. The next time I'm at Starbucks I'll try to reproduce the issue and confirm that my description above is accurate.

I've used the WebDAV feature in the past, but it's never turned on when I encounter this problem.

Thanks for the detailed description. I'm pretty sure that this is caused by the setting I described.

iOS tries to make sure that you are connected to a Wifi network when Textastic is started because the app basically says that it requires a persistent Wifi connection. So, it does show the Starbucks login screen so that you are properly connected.

But, it doesn't send any data, it just connects to the Wifi network so that connections to remote servers work immediately when the user wants to work with remote files and also as I mentioned to make the builtin WebDAV server work reliably.

To add to the point about the WebDAV server – I just remembered why I enabled this setting in the first place (I implemented this about 9 months ago):

It's not possible to start the WebDAV without a Wifi connection. The WebDAV configuration screen in Textastic detects if a wifi connection is available and shows an error message if it is not. Without a wifi connection the iPad wouldn't have an ip address assigned in the local network and so the server couldn't bind to an ip address. Without the UIRequiresPersistentWiFi setting, iOS wouldn't connect to the network by itself and so it would never be possible to start the WebDAV server.