Expand my Community achievements bar.

Announcement: Calling all learners and mentors! Applications are now open for the Adobe Analytics 2024 Mentorship Program! Come learn from the best to prepare for an official certification in Adobe Analytics.
SOLVED

AEP Mobile SDKs and SQLCipher

Avatar

Level 1

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.

1 Accepted Solution

Avatar

Correct answer by
Employee

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.

View solution in original post

1 Reply

Avatar

Correct answer by
Employee

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.