jonathanpalma / react-native-tesseract-ocr

Tesseract OCR wrapper for React Native
MIT License
563 stars 172 forks source link

is iOS finish yet? Any recent roadmap for iOS #8

Closed pannz closed 4 years ago

pannz commented 7 years ago

that would be great help

jonathanpalma commented 7 years ago

Hey @pannz !! I'm sorry to say that I could not work on it (iOS implementation) these days but I don't have a Mac. :disappointed: So I decided to ask a friend for help and we hope that it could be ready in the second or third week of December, 2016.

mikasjoman commented 7 years ago

That would be fantastic! I was a bit confused when I read the iOS instructions and could't get it to work. Then I finally got to the bottom of the instructions and saw the TODO ;) Wish I knew how to code in Swift, but I just don't have the time :( Hoping for this project to run ahead fast instead :) Thanks for working on it!

ljubic commented 7 years ago

Hello, any news? 😄

jonathanpalma commented 7 years ago

@ljubic Heey man!! I'm really sorry I had to leave the country for a few days but I'm back now and I will try to work on this these days. Happy Holidays :beers::tada:

setrin commented 7 years ago

Nice to hear, Happy Holidays to You as well 🙂 Thanks for Your work man

JonathanWi commented 7 years ago

Hey there! Any news on this @jonathanpalma, really looking forward to using this!

johnrosenbaud11 commented 7 years ago

Hello everyone, is there any iOS version coming out?

Thanks

peacechen commented 7 years ago

How about a pure Javascript version of Tesseract? That would allow support for both Android and iOS in React Native. http://tesseract.projectnaptha.com/

jonathanpalma commented 7 years ago

Hey @peacechen it is a nice idea! But unfortunately we've been working on it for a few time without making it works for react-native.

https://github.com/naptha/tesseract.js/issues/55

peacechen commented 7 years ago

@jonathanpalma Thanks for exploring that and sharing the issues. Saves some time for us trying to go down that path. I may lend a hand for the iOS implementation in the future (date unknown, depends on work commitments). Would you mind documenting the architecture of this project? For instance, what methods & callbacks should be implemented.

Edit: Another JS OCR library http://antimatter15.com/ocrad.js/demo.html

jonathanpalma commented 7 years ago

@peacechen You're welcome! And I'm sorry it's pretty hard work on the iOS implementation without having a mac, that's why I was working on naptha/tesseract project to bring a general solution that works everywhere.

And sure, I'm already working on the documentation while whitelist/blacklist's support is ready.

aphex3k commented 7 years ago

Looking forward to any update on this matter. Right now, this is mostly unusable due to lacking iOS support 👎

aphex3k commented 7 years ago

Ok, spent all day today to get this working for iOS and currently have a very hacky version of functioning for english language. I will have to look at the Android side of things to kind of match the API for iOS. I might have something presentable some time this week. Stay tuned...

NaleenDissanayake commented 7 years ago

Hey, Did you finish IOS version?

mikasjoman commented 7 years ago

Any progress on this? If not, could you share the code you have written so far? cheers

aphex3k commented 7 years ago

it is actually merged but I currently have no time budget available to make the currently proposed changes by @jonathanpalma. So it is kind of janky right now...

kaberibasu commented 7 years ago

By when can we expect the fully supported and running iOS version? Its very much needed.

dzcpy commented 7 years ago

Any news guys?

aphex3k commented 7 years ago

Sorry, I don't have any time to work on this for the foreseeable future...

danleveille commented 7 years ago

I wish I had the knowledge to help out with this, but I'm really looking forward to iOS support! 😄

aphex3k commented 7 years ago

@jonathanpalma I want to revisit the work I contributed to finally get this working. Can you give me your feedback on what parts of the iOS work you wanted changed?

If I recall correctly, you wanted me to change it to promises instead?!? I have that part down but please refresh my mind before I create the pull request.

standemchuk commented 7 years ago

@aphex3k @jonathanpalma hey guys, any help needed to get this done faster?

vtaseski commented 6 years ago

Is it working now on iOS?

ryan-codingintrigue commented 6 years ago

@aphex3k Was this commit functional? Seems like the only difference is that the API signature wasn't compatible with the Android one?

If that's the case, happy to help in getting this iOS support added.

aphex3k commented 6 years ago

Yes, the commit is functional.

https://github.com/aphex3k/react-native-tesseract-ocr/tree/iOS This branch is my rewrite to bring Android and iOS more in line but I'm having trouble figuring out the Android interface to shape the iOS interface the same way so that it can be used as a true react-native module.

jonathanpalma commented 6 years ago

Currently I'm living in Vancouver due to work reasons, so it's kind of hard to check this out for me, but if some of you guys @aphex3k @ryan-codingintrigue @vtaseski @pannz @standemchuk @danleveille @andyhu @kaberibasu @mikasjoman @peacechen @johnrosenbaud11 @JonathanWi @setrin @ljubic could have a look on @daominhsangvn's fork and give some feedback we could create a pull request

peacechen commented 6 years ago

Great to hear there's progress on the iOS front. Is the sample project functional for iOS? Would be easier to provide feedback with a running app.

jonathanpalma commented 6 years ago

@peacechen I just updated the index.ios.js file of the sample project to make it easier to test. You could check it out here.

Don't forget to follow some steps to run the example

pmth commented 6 years ago

@jonathanpalma I tried to follow instruction using patch-1 branch. I got errors after trying to select a picture:

2017-12-07 07:25:10.377900-0800 tesseractOcrSample[45351:2350188] [discovery] errors encountered while discovering extensions: Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled}
2017-12-07 07:25:11.233 [error][tid:com.apple.root.background-qos][RCTModuleMethod.m:58] Argument 0 (NSString) of RNTesseractOcr. must not be null
2017-12-07 07:25:11.233383-0800 tesseractOcrSample[45351:2350184] Argument 0 (NSString) of RNTesseractOcr. must not be null
2017-12-07 07:25:11.393 [error][tid:com.apple.root.background-qos][RCTModuleMethod.m:58] Argument 0 (<null>) of RNTesseractOcr. could not be processed. Aborting method call.
2017-12-07 07:25:11.392896-0800 tesseractOcrSample[45351:2350184] Argument 0 (<null>) of RNTesseractOcr. could not be processed. Aborting method call.
2017-12-07 07:25:11.457563-0800 tesseractOcrSample[45351:2350188] [] nw_connection_get_connected_socket 9 Connection has no connected handler
2017-12-07 07:25:11.458124-0800 tesseractOcrSample[45351:2350188] TCP Conn 0x60800016a440 Failed : error 0:61 [61]

I will try to look into it myself.

ziyafenn commented 6 years ago

Fingers crossed that it will work for iOS at least for English soon :)

tmsd32 commented 6 years ago

Hey guys, any update on iOS progress?

daominhsangvn commented 6 years ago

@tommydudehead Check my fork https://github.com/newoceaninfosys/react-native-tesseract-ocr Make sure you read Readme carefully

tmsd32 commented 6 years ago

@daominhsangvn thanks for the reply. I have followed the readme very carefully. Unfortunately I get errors when trying to launch the sim. Specifically:

node_modules/react-native-tesseract-ocr/ios/RNTesseractOcr.h:3:9: fatal error: 'TesseractOCR/TesseractOCR.h' file not found

import <TesseractOCR/TesseractOCR.h>

    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1 error generated.

I have previously fixed another error in that file by changing the import path of the other import from #import "React/RCTBridgeModule.h" to #import "RCTBridgeModule.h" (in case it is relevant)

Any suggestions? I have spent many hours on this today, and am a bit stuck now.

Edit: In case it is more readable, here is the same error when attempting to run through Xcode:

screen shot 2018-01-23 at 16 25 43
tmsd32 commented 6 years ago

Four hours later and I have managed to get a Build Succeed within Xcode.

However, whenever I run the following code...

RNTesseractOcr.recognize(imgPath, lang, tessOptions) .then((result) => { this.setState({ ocrResult: result }); console.log("OCR Result: ", result); }) .catch((err) => { console.log("OCR Error: ", err); }) .done();

it crashes with the red screen on the iPhone sim with the following message:

screen shot 2018-01-23 at 20 21 01

If you have any suggestions it would be much appreciated. I have spent most of today trying to get this to work, and I am sort of out of ideas now.

ziyafenn commented 6 years ago

Don't understand why iOS is completely ignored. There are even no tasks/issues or so to help the project going further.

MeKyleH commented 6 years ago

Can someone write a quick summary of where this issue is and what needs to be done so we can help out as necessary?

neilkuumar commented 6 years ago

anyone got an update on how to get this working?

ziyafenn commented 6 years ago

@neilkuumar Nothing seems to be happening...

neilkuumar commented 6 years ago

I got it working using one of the other users forks from above:

https://github.com/newoceaninfosys/react-native-tesseract-ocr

However it can be a bit slow and performance varies on an iPhone - I will need to play around with the GPUImage settings to see if I can get better results

ziyafenn commented 6 years ago

@neilkuumar Crazy!! Please keep us updated <3

zoi-aoba commented 6 years ago

GOD!!!

peacechen commented 6 years ago

Yes?

allthetime commented 6 years ago

BUMP. But really, as others have pointed out, it's a little confusing that it says iOS is not supported, but there are installation instructions... What's the current situation? And also, what would it take to complete iOS support, I'm sure some people would be willing to help.

wayne1203 commented 6 years ago

@tommydudehead Hi, how can you fixed the "#import <TesseractOCR/TesseractOCR.h>" error? I got this error even I using the example project.

Rafah-Mehfooz commented 6 years ago

Anybody using it for iOS?

ziyafenn commented 6 years ago

@neilkuumar is that fork still works for you?

dilipchandima commented 5 years ago

Anybody using it for iOS development ?? I also getting "#import <TesseractOCR/TesseractOCR.h>" error after following all the steps for iOS ??

daominhsangvn commented 5 years ago

Have you guys tried pod install and update Header Search Paths in RNTesseractOcr yet? Make sure you're using .xcworkspace to open the xcode project

anagar23 commented 5 years ago

@daominhsangvn , I tried with all your steps, project successfully compiled but at the time of launching app it throws runtime crash. Following log I found in Xcode:

dyld: lazy symbol binding failed: can't resolve symbol ___cxa_guard_acquire in /Users/amitnagar/Library/Developer/CoreSimulator/Devices/605F8113-1EB3-4391-B93B-23D1BE432DBF/data/Containers/Bundle/Application/9416CFAF-35E6-4D0C-9E39-976C6383C2DD/elth.app/elth because dependent dylib #1 could not be loaded

dyld: can't resolve symbol ___cxa_guard_acquire in /Users/amitnagar/Library/Developer/CoreSimulator/Devices/605F8113-1EB3-4391-B93B-23D1BE432DBF/data/Containers/Bundle/Application/9416CFAF-35E6-4D0C-9E39-976C6383C2DD/elth.app/elth because dependent dylib #1 could not be loaded

Do you know what could be the possible reason for the problem.

jonathanpalma commented 5 years ago

Hi everyone,

Considering that this project does not have a solid support for iOS, I would like you to try the following link and help me create a specific list about the tasks that must be done to improve the functionality. as the usability of this library.

tag: @anagar23 @dilipchandima @ziyafenn @Rafah-Mehfooz @wayne1203 @allthetime @peacechen @goleador0322 @neilkuumar @MeKyleH @tommydudehead @pmth

https://github.com/newoceaninfosys/react-native-tesseract-ocr

@daominhsangvn Could we set up a meeting to talk about the work you have done with this? Maybe we can make some changes on both sides to facilitate its use and have better documentation.