Tracking Issue: iOS Support
sqlite-vec theoretically runs on iOS devices, but I haven't tried it yet.
How can we package and distribute sqlite-vec so iOS developers can use it in mobile and native apps?
I don't know anything about iOS development so please help me answer the following questions:
- What are common SQLite client libraries that iOS devs use? Do they allow dynamically loading SQLite extensions?
- What "package managers" exist for 3rd party iOS libraries?
- How do iOS library bundle in pre-compiled shared object files?
P.S. - if you're company or organization would benefit from sqlite-vec on iOS, I'd love to have you as a sponsor!
new Swift PR that may help a lot: #74
What are common SQLite client libraries that iOS devs use? Do they allow dynamically loading SQLite extensions?
Here are some: SQLite.swift GRDB.swift
It looks like the SQLite version provided by the OS (macOS and iOS) is compiled without the ability to load new extensions, see here.
What "package managers" exist for 3rd party iOS libraries?
How do iOS library bundle in pre-compiled shared object files?
I created a simple proof of concept SQLiteVec SPM package that can be used from both iOS and macOS and bundles together the SQLite and sqlite-vec. This way we skip the sqlite provided by the OS.
I have a little side project I'm working on using Expo (React Native framework). I'm planning on trying to get Sqlite with this extension running locally. I'll report back here if I have any luck and if there's anything useful I learn along the way. I think this is one of the more common ways people are building mobile applications nowadays... but it's all new to me, so take that claim with a grain of salt!