Xcode上的Tesseract运行错误

我一直在testingTesseract在Xcode.I遵循访问http://lois.di-qual.net/blog/install-and-use-tesseract-on-ios-with-tesseract-ios/的指示。但问题是当我运行程序,我在控制台上得到以下错误:

Error opening data file /Users/mdriduanulislam/Library/Application Support/iPhone Simulator/7.0/Applications/0ABCEAB3-3793-44C9-8914- A99BB6B4EF9F/Documents/tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language 'eng' Tesseract couldn't load any languages!` 

我在StackOveflow上遇到了一个问题,但答案并不理想。有人请告诉我为什么问题在发生,请问可能的解决scheme。请大家等待正确的答案。

它是因为你的文档文件夹不包含语言文件。 使用下面的代码保存添加到文档文件夹中的语言文件。 在启动tesseract之前调用此方法Tesseract * tesseract = [[Tesseract alloc] initWithDataPath:@“tessdata”language:@“eng”];

 - (void)storeLanguageFile { NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *path = [docsDirectory stringByAppendingPathComponent:@"/tessdata/eng.traineddata"]; if(![fileManager fileExistsAtPath:path]) { NSData *data = [NSData dataWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/tessdata/eng.traineddata"]]; NSError *error; [[NSFileManager defaultManager] createDirectoryAtPath:[docsDirectory stringByAppendingPathComponent:@"/tessdata"] withIntermediateDirectories:YES attributes:nil error:&error]; [data writeToFile:path atomically:YES]; } } - (NSString *)scanImage:(UIImage *)image { Tesseract *tesseract = [[Tesseract alloc] initWithDataPath:@"/tessdata" language:@"eng"]; [tesseract setVariableValue:@"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" forKey:@"tessedit_char_whitelist"]; [tesseract setVariableValue:@".,:;'" forKey:@"tessedit_char_blacklist"]; if (image) { [tesseract setImage:image]; [tesseract setRect:CGRectMake(0, point.y- 25, image.size.width, 50)]; [tesseract recognize]; return [tesseract recognizedText]; } return nil; }