何らかの理由で、iOS-Appと私のC++-Lib(iOS-Appで使用)間でデータを交換するオプションを評価します。データ交換Objective-CとC++のファイルベース
C++(ローカルマシン上で正常に動作します):
ARM用に再コンパイルvoid LibFacadeTest::testFileAccess()
{
this->log->info("start testFileAccess");
char filename[] = "./test.txt";
std::string result;
LibFacade *e = new LibFacade();
try
{
result = e->testFileAccess(filename);
}
catch(...)
{
this->log->error("error");
}
this->log->info("Result:" + result);
delete(e);
}
と、デバイス上で実行する私は、ファイル名パラメータは、(ログを経由して)正しく渡されますが、何も返されないことがわかります。ここで
は、Objective-Cのコードです:
LibFacade *tlb = new LibFacade();
char *testName = "blub.txt";
std::string str = tlb->testFileAccess(testName);
// Check, if file exists
NSFileManager *filemgr;
filemgr = [NSFileManager defaultManager];
if ([filemgr fileExistsAtPath: @"blub.txt" ] == YES)
NSLog (@"File exists");
else
NSLog (@"File not found");
NSError *error = nil;
NSString *myString = [NSString stringWithContentsOfFile:@"blub.txt" encoding:NSUTF8StringEncoding error:&error];
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:myString
delegate:nil cancelButtonTitle:nil destructiveButtonTitle:myString otherButtonTitles:nil];
[actionSheet showInView:self.view];
Aは、迅速かつダーティビットが、何私が見ることができることは、LIBを使用することができるがそこには、ファイルがデバイス上に作成されていないということです。
私の質問: 付属のC++ライブラリからデバイスファイルシステムにアクセスするための制限はありますか?ファイル交換のために特別なディレクトリを使用する必要がありますか?