2012-11-20 4 views
2

iOS의 Documents 폴더에 대한 참조를 C++을 사용하여 가져 오는 방법이 있는지 궁금합니다 (Objective-C에서 ANY 코드를 사용하지 않고, 이는 프레임 워크이므로 iOS 프로젝트에서 라이브러리로 추가 할 수있는 C++에서만 구현 됨).C++을 사용하여 iOS의 Documents 폴더에 액세스

가능한 경우 답변에 코드를 입력하십시오.

답변

5

아래 코드를 사용하면 앱의 캐시 폴더에 액세스 할 수 있습니다. 제 생각에는, "/ Library/Documents"에있는 문서 폴더이거나 다른 곳으로 가십시오. 전체 경로와

char *home = getenv("HOME"); 
char *subdir = "/Library/Caches/subdir"; 

home + subdir = 전체 경로

다음, 당신은 읽기/당신은 또한 문서 폴더에 대해이 작업을 수행 할 수있는 C++

+0

을에서 작성하는 일반적인 작업을 수행 할 수 있습니다. 간단히'home' +'/ Documents'입니다. – bejado

1

예, 일반 Unix API에 액세스 할 수 있습니다. 사과 iOS manpages here을 참조하십시오.

1

(Cocoa API를 사용하여) 경로를 가져온 다음 CFStringGetFileSystemRepresentation, CFURLGetFileSystemRepresentation 또는 -[NSString fileSystemRepresentation]과 같은 API를 사용하여 C++ 문자열 호환 표현으로 변환합니다. 같은

뭔가 :

// you may need to wrap this in an autorelease pool 
NSArray * paths(NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)); 
const char* const path([[paths objectAtIndex:0] fileSystemRepresentation]); 
if (0 == fsrep) { 
    uh-oh 
} 
const std::string result(path); 

그런 다음 당신은 단순히 자신의 ObjC++ 번역 그 넣어 (당신의 C++ 소스의 나머지 부분을 볼 것) 기능에서 result을 반환 할 수 있습니다.

관련 문제