次のコード スニペットを使用して、アプリケーション リソース ディレクトリからドキュメント領域にファイルをコピーしようとしています。Github のPocketOCRプロジェクトから以下を使用しました。
// Set up the tessdata path. This is included in the application bundle
// but is copied to the Documents directory on the first run.
NSString *dataPath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent:@"tessdata"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSLog(@"Datapath is %@", dataPath);
// If the expected store doesn't exist, copy the default store.
if (![fileManager fileExistsAtPath:dataPath ]) {
NSLog(@"File didn't exist at datapath...");
// get the path to the app bundle (with the tessdata dir)
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
NSString *tessdataPath = [bundlePath stringByAppendingPathComponent:@"tessdata"];
if (tessdataPath) {
[fileManager copyItemAtPath:tessdataPath toPath:dataPath error:NULL];
}
}
これは、上記の呼び出しから得られる出力です。
2012-06-06 14:53:42.607 MyApp[1072:707] データパスは /var/mobile/Applications/9676D920-D6D1-4F86-9177-07CC3247A124/Documents/tessdata データ ファイル /var/mobile/Applications/9676D920 を開くときにエラーが発生しました-D6D1-4F86-9177-07CC3247A124/Documents/tessdata/eng.traineddata
私のxcodeプロジェクトにeng.traineddataファイルがあります
をチェックしようとすると、エラーが報告されているようですfileExistsAtPath
。これがエラーをスローするとは思わず、YES または NO を返すと思います。
ファイルをコピーする簡単な方法はありeng.traineddata
ますか、またはここで修正できる間違いを犯しましたか?