The Future of SQLite

It’s also possible to turn SQLite back on in Desktop Safari:

  1. Turn on the Developer’s menu. (Safari Prefs… Advanced)
  2. On the Developer’s menu, select Experimental Features. Uncheck ‘Disable Web SQL’

Have turned off the “Diable Web SQL” option. Still getting the “SQLite not supported” error. Even restarted the phone.

Any other ideas?

Thanks …

Does it work with Chrome on the phone?

No. I tried both Safari and Chrome. Same result.

There must really be some politics regarding this one … as a developer I can’t even imagine why you would want to remove support for something as ubiquitous as SQLLite from the platform!

The politics are discussed in this blog post:
https://blog.appstudio.dev/2019/09/the-future-of-sqlite/

I just tried running SQLSample1 on an iOS 13.1 iPhone 8 and on the Mac Desktop, with the changes to the settings. It worked on both platforms.

Give my sample a try:

Hi,

I have an update. What it appears to be is that SQL Lite does run in the Safari browser window. I was trying to run it from the shortcut that I sent to the “home” screen of iOS which runs the apps without the web browser’s window elements. I can, at least, run it now. Thanks.

Sure would be nice if Apple would put SQLite back on iOS so it can run locally like it seems to from the “home screen” icon. Is NSBasic actually running in native mode on iOS (as opposed to a web app) when accessed through that home screen icon?

Thanks,

-bwr-

I just tried it - you’re right. This can only be seen as a bug on Apple’s part.

We have filed a bug report with Apple. Hopefully, they fix this!

If you’d like to file your own bug report on this problem, you can do so here:

https://feedbackassistant.apple.com/

Hey … I just filed a bug report as well. Here’s hoping that they fix it. SQLite has been a pretty important part of iOS, very odd that they just removed it. NSBasic can’t be the only developer implementing solutions with it!

Is it a bug or does it run with the settings that were set at the time your app was ‘Saved to desktop’? I’m having trouble with a few Apple users, well most of my Apple users really ;{, and seems if they reinstall when the Websql is enabled it runs ok. If I disable Websql in Safari, my apps that were installed when websql was enabled, still operate.

So far that’s what I can do on my daughter’s ipad and users aren’t getting back to me…fingers crossed.

I’ve tried every way I can imagine, no go. The app simply will no longer use SQLLite on the local device, at all. No longer present in iOS. Get a dialog stating that “SQLite is not supported”. NSBasic still runs on the device, just no database support there any more. Shame. I can think of NO reason why the support would have been removed other than for some kind of “political” reason.

Does SQLite work as a web app on your device? There should only be a problem when saving to the home screen, if your Safari settings are correct.

I think the latest release of ios solves the problem when saving to the home screen

Please restate the current and future support of SQLite for native/PhoneGap apps on iOS and Android…

Here’s the official status:
https://blog.appstudio.dev/2019/09/the-future-of-sqlite/

If you’re using native apps, there’s no problem. There’s a plugin which provides support for SQLite.

Thank you.

I don’t have access to any iOS device so am just checking in to see what is and isn’t working with iOS web apps at the moment with the latest version.

From what i understand, can below please be confirmed:

  1. Web apps using Chrome on iOS cannot be saved to homescreen.
  2. Web apps using Chrome on iOS allow SQLite to work.
  3. Web apps using Safari on iOS can be saved to homescreen.
  4. Web apps using Safari on iOS only allow SQLite to work when running in the browser itself (if Web SQL is enabled in the settings), and does not work when run from the home screen.

Thanks

This is probably correct at some point in time. Apple is changing how it is handling this, but not publishing any documentation about how it is supposed to work or how it may change in time.

It does appear that SQLLite functionality is back in iOS. However, I’ve noticed that the application seems to lose context with the DB on occasion. It might be that I’m opening the connection in main() and expecting the connection to persist. It might simply be that the connection needs to be made as needed. I’m going to try that but most of the functionality is back. :slight_smile: