-
Notifications
You must be signed in to change notification settings - Fork 753
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
Join forces with zxing-cpp? #571
Comments
@axxel yeah, I wanted to rewrite the ObjC port with Swift some while ago but didn't find the time to do so. I fixed some bugs and as the original zxing is kind of dead, I tried to port all the outstanding changes from zxing to this objc port. I succeeded in doing so but keeping up with issues and bugs did not work out for me. With @Liftric we started playing around with the cpp port and actually it is super fast and convenient for us to use. I don't really see any point in either rewriting the ObjC port to Swift or cleaning this repo up. You made awesome progress and I believe it is more meaningful to support your port instead of this. I will add a remark to this repos README and archive it in a couple of months. |
And no, your proposal is relevant, appropriate and the right thing to do from my point of view :) |
@axxel I will put a small hint on the top of the README to redirect people to your project, which makes sense the most IMHO. |
@axxel with zxing-cpp/zxing-cpp#630 the After this PR is merged and released, I would invest a bit of time in some README enhancements in zxing-cpp and add a remark to this repository (and probably in the near future archive it). It can still be taken over if somebody is interested in maintaining that. |
@benjohnde and the others: Long story: I have noticed that the zxing-objc has problems reading these codes with binary payloads correctly. The dangerous thing is that scanning works, but unfortunately there is simply a complete block of data missing in between the decoded payload. We noticed this problem with one of our older apps in which we have still used zxing-objc. But since we were already in the process of switching to zxing-cpp anyway, we "solved" the problem by throwing out zxing-objc completely instead of looking for the error here for a long time. But the bottom line is that there are still problems somewhere in zxing-objc when processing binary barcodes. You can try it out for yourself: This VDS contains the binary raw data: 1b) --> after correct datamatrix decoding this will have the payload bytes: But zxing-objc gives as result in 2b) --> and after datamatrix decoding this will have the payload bytes: The strange thing about this is that both the start range and the end range are the same, only one data block is missing in between, which of course makes the result from zxing-objc useless. You could dive really deep into it now and it would certainly be an interesting journey, but the effort is too high for me right now, given that our decision in favor of zxing-cpp had already been made beforehand anyway. |
Hi there. Apologies in advance if someone thinks the following proposal is inappropriate.
I'm the maintainer of zxing-cpp. Since this PR we have a wrapper for iOS. The project has been ported to c++ from the Java version about 4 years ago but has been improved/rewritten substantially over the years. Depending on the use case it is now 2x to 10x faster than the original and has improved detection capabilities as well. Glancing over the open issues an PR list here, I estimate that the following issues would go away by switching to zxing-cpp: #470, #483, #485, #498, #501, #567, #517, #524, #570.
It seems that this project here is partly abandoned (based on the date of the last commit) but quite a few people are using/working on this port. I'd therefore like to invite anyone who is interested to give zxing-cpp a try and if you find something is lacking with the new wrapper, please let me know. I'd love to help consolidate the rather fragmented landscape of zxing ports and bring the community closer together working on one solution instead of fixing issues multiple times in different code bases.
The text was updated successfully, but these errors were encountered: