Database: Opening <CBL_SQLiteStorage: 0x171268a00>
Database: Open /private/var/mobile/Containers/Data/Application/DBCF0DB2-7759-4247-AA67-664154FF570A/Documents/My New Database.tapforms/db-190076733d434f5bbdd11dc9eb33e2f6.cblite2/db.sqlite3 with SQLite (flags=6, encryption key given)
WARNING: CBL_SQLiteStorage: encryption not available (app not built with SQLCipher) {at -[CBL_SQLiteStorage decryptWithKey:error:]:267}
Error Domain=CBLHTTP Code=501 "unimplemented" UserInfo={NSLocalizedFailureReason=unimplemented, NSLocalizedDescription=unimplemented}
brendan$ otool -L Tap\ Forms
/Tap Forms.app/Tap Forms:
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.4.0)
/usr/lib/libsqlite3.dylib (compatibility version 9.0.0, current version 252.0.0)
/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.9.0)
On Sep 8, 2016, at 11:48 AM, Brendan Duddridge <bren...@gmail.com> wrote:More info. I am using the FMDB cocoapod. I think it may be pulling in sqlite3 because I see this in the build log:
On Sep 8, 2016, at 12:25 PM, Brendan Duddridge <bren...@gmail.com> wrote:Is it possible to ditch the cocoa pod version of FMDB and just use the one from CBL?
On Sep 8, 2016, at 12:43 PM, Brendan Duddridge <bren...@gmail.com> wrote:So what I've discovered now is that if I simply modify the FMDB.podspec.json file on my local machine and remove the library reference to sqlite3 then it works for me now and I get encryption (and all the other goodies from the CBL SQLCipher static library).
Sounds like CocoaPods is ‘helpfully’ adding libsqlite3.dylib to your target’s linked libraries.I can’t think of any better solution than your workaround (though I know very little about CocoaPods.) This is kind of a weird situation where SQLite and SQLCipher are different libraries with exactly the same API, so it’s not possible to link the same target with both of them.
On Sep 8, 2016, at 4:05 PM, Brendan Duddridge <bren...@gmail.com> wrote:The strange thing is why it worked fine with Xcode 7 but not with Xcode 8. Must be some new checks to see if a linked library has the same API or something and to ignore it if it does.