Replies: 4 comments 4 replies
-
Hello @ayoy. May I ask you, one of the authors of https://github.com/duckduckgo/GRDB.swift (the GRDB fork that ships a pre-built XCFramework of GRDB + SQLCipher), if you can imagine anything that could be done from here, the main repository? |
Beta Was this translation helpful? Give feedback.
-
Hello @michaelkirk and @charlesmchen. We had conversation about GRDB in the Signal app in the past. Signal currently uses GRDB+SQLCipher through CocoaPods, so I thought you'd be happy to know about the situation. I'm curious about your opinions. |
Beta Was this translation helpful? Give feedback.
-
We use GRDB + SQLCipher with a small script that wraps CocoaPods to generate XCFrameworks, which I'd love to do away with. Unfortunately I don't have any good ideas off the top of my head as to how you could accomplish that with SQLCipher not supporting SPM themselves, and assuming you had that - without forcing it to be a dependency for everyone regardless of whether they want it or not, I guess for the latter you could create a GRDB-SQLCipher wrapper package that depends on both, but without a way to pass configuration , compiler directives or anything really between packages it feels pretty difficult. If you do include it in the main package you can probably usage the We do also use data protection but its not something you can rely on in a number of situations — such as when the user disables their iPhone's passcode. Yes the user is compromising their own information security so its their own fault, but we would likely still suffer reputation damage if that happened (I work for a large bank), so we want to make sure we have full control over the encryption of the database. Hope that context helps some. |
Beta Was this translation helpful? Give feedback.
-
It should be possible for applications to keep on using GRDB+SQLCipher with CocoaPods even if it is impossible to publish a new version of the GRDB pod, by declaring a dependency on a branch: # Same as pod 'GRDB.swift/SQLCipher', '~> 6.0'
# We depend on a branch due to https://github.com/CocoaPods/CocoaPods/issues/11839
# that prevents GRDB from publishing tagged releases on cocoapods.org.
pod 'GRDB.swift/SQLCipher', git: 'https://github.com/groue/GRDB.swift.git', branch: 'GRDB6'
pod 'SQLCipher', '~> 4.0' The GRDB6 will only ever point to tagged releases. For example, on 2024/03/24, GRDB6 is identical to v6.26.0. The same technique will be available for GRDB7 (on the GRDB7 branch - which is currently a work in progress and is NOT production-ready). |
Beta Was this translation helpful? Give feedback.
-
Hello all,
GRDB 7, presently in the making, will drop CocoaPods support. 💔
Some folks will be able to migrate to SPM. But folks who use GRDB + SQLCipher will be stuck with GRDB 6.
This sad situation is a conjunction of several blockers:
I will not remove the SQLCipher and CocoaPods support from the repository, because the CocoaPods blocker might be resolved one day.
I have a question for the community: do you have any advice or experience that could help unblocking the situation and allow SQLCipher users to enjoy the upcoming GRDB 7?
Also, if you are using SQLCipher and are concerned with this announcement, did you consider using data protection instead?
Please share your experiences below 🙏
Beta Was this translation helpful? Give feedback.
All reactions