AEP Mobile SDKs and SQLCipher | Community
Skip to main content
New Participant
March 13, 2024
Solved

AEP Mobile SDKs and SQLCipher

  • March 13, 2024
  • 1 reply
  • 595 views

We're attempting to update a large number of mobile projects from the ACP libraries to the AEP libraries.

 

During the iOS build process the AEPServices library is clashing with another dependency, SQLCipher, that has been in use on these mobile projects for database encryption. As the AEPServices library uses the system SQLite3, this is problematic for SQLCipher.

 

Sample repository demonstrating the issue: https://github.com/Chuckv01/adobe-sqlcipher-issue-reproduction 

 

Has anyone else gotten the AEP Mobile SDKs working on an iOS project that is using SQLCipher for database encryption?

 

This line of code in the AEPServices library causes the Redefinition of 'sqlite3_file' error when SQLCipher is also used in the project.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by FarazHusain

I believe the SQLCipher library conflicts with the SQlite standard library, and I think this is intended. I think it would be difficult to test or support compatibility with other 3rd party libraries as that would be too much to cover. I would have suggested this particular thread - https://discuss.zetetic.net/t/important-advisory-sqlcipher-with-xcode-8-and-new-sdks/1688 but I see you have already tried this out but didn't worked.

So, at the moment not sure what the should be workaround here.

1 reply

FarazHusain
FarazHusainAccepted solution
Employee
April 25, 2024

I believe the SQLCipher library conflicts with the SQlite standard library, and I think this is intended. I think it would be difficult to test or support compatibility with other 3rd party libraries as that would be too much to cover. I would have suggested this particular thread - https://discuss.zetetic.net/t/important-advisory-sqlcipher-with-xcode-8-and-new-sdks/1688 but I see you have already tried this out but didn't worked.

So, at the moment not sure what the should be workaround here.