Hi we have an app that uses SQLCipher it seems to work without any issue when building a DEBUG configuration (Also through TestFlight) however if we build a RELEASE configuration the following query returns an empty array:
pragma cipher_version
Just a little bit about our app. We have both a iOS (NOT working) and Android app that have shared code through flutter and both sides have still native code that is in the process of being flutterized. On the iOS side we have a mix between Objective-C and Swift. Our Podfile looks as follows
pod 'Google-Mobile-Ads-SDK'
...
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils/Clustering'
pod 'GooglePlaces'
pod 'FirebaseCore', :modular_headers => true
pod 'Firebase/Crashlytics', :modular_headers => true
pod 'Firebase/Analytics', :modular_headers => true
pod 'Firebase/Messaging', :modular_headers => true
pod 'Firebase/RemoteConfig', :modular_headers => true
pod 'GoogleUtilities', :modular_headers => true
pod 'Realm', '10.5.1'
pod 'SQLCipher', '~> 4.5.4', :modular_headers => true
pod 'GRDB.swift/SQLCipher'
pod 'GRDB.swift'
On the flutter side we use
sqlcipher_flutter_libs: 0.5.7
XCODE: 16.1
Flutter: 3.16.9 Dart 3.2.6
currently we are pinned to these versions due to breaking changes needed on our end. We already tried to remove all references/links to sqlite3 from other pod libraries. Furthermore we also tried to move the linker flag for SQLCipher to the top for both the project and the pods project xconfig file. However this seems not to help, I came to the conclusion that it must be something in the archiving process that breaks the thing, otherwise it wouldn’t be broken in the DEBUG configuration. E.g. Android uses ProGuard and as far as I understood there are some special rules for the SQLCipher part.
Please help if anybody has some clues for us to get this thing working would be just great…thanks in advance.
UPDATE:
I updated the Podfile and the version SQLCipher to 4.5.7 to see if that helps however still the same issue. Interestingly on SQLCipher 4.5.4 in DEBUG I saw that the pragma cipher_version returned 4.5.7 which is strange.
Updated Podfile:
#removed GRDB.swift
pod 'SQLCipher', '~> 4.5.7', :modular_headers => true
pod 'GRDB.swift/SQLCipher'
also the flutter lib was pushed to: 0.6.2 to support 4.5.7
Pragma in RELEASE: