Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zip library integration #5

Open
troupmar opened this issue Apr 5, 2018 · 0 comments
Open

Zip library integration #5

troupmar opened this issue Apr 5, 2018 · 0 comments

Comments

@troupmar
Copy link
Contributor

troupmar commented Apr 5, 2018

The necessity to integrate a zip framework arised in order to provide archivedLogFilesUrl pointing to a .zip file including all existing log files within the built-in FileLogger. We looked for such existing frameworks and tried those: Zip, ZipArchive and ZIPFoundation.

Firstly, we tried to integrate Zip using Carthage. We found out that it is hardly possible to use a framework within another framewok (QuantiLogger). We failed to make it work this way. Then we tried to directly copy & paste the source code from Zip framework and we ran into this problem.

Secondly, we tried to integrate ZipArchive. We already knew we could not use Carthage so we directly copy & pasted the source code again. Since the framework is written in Objective-C, we ran into the problem of bridging the source code to Swift within our framework (QuantiLogger). We could not find a solution for such problem either.

Finally we used ZIPFoundation. We copy & pasted the source code once more and it worked! Even though it was not our first choice, we are happy with the framework since we only use it to create a .zip file containing bunch of log files.

Now we have a working solution and thus we are able to provide archivedLogFilesUrl as intended. However we are not quite happy with the copy & paste source code solution. So the challenge as we see it is to find a way how to incorporate a zip framework (any zip framework really) in a clearer way, preferably using Carthage. Any other solution other than copy & pasting the source code would work for us too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant