답변
내가 할 그 다음과 같은 방법 :
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/MyFolder"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder
내가 좋아하지 않아 "[경로 objectAtIndex : 0]"때문에 애플은 C "데르,"A "와"B "를 시작하는 새 폴더를 추가하는 경우 ","Documents "- 폴더가 디렉토리의 첫 번째 폴더가 아닙니다.
더 나은 :
NSString *dataPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/MyFolder"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder
팀의 대답을 참조하십시오. NSSearchPathForDirectoryiesInDomains를 사용하는 것은 사용자 Documents 디렉토리를 검색하는 표준 방법입니다. –
Apple이 Documents 디렉토리의 이름을 "MyDocuments"(또는 이와 비슷한 이름)로 바꾸기로 결정하면 접근 방식이 작동하지 않습니다. – Mehlyfication
내가 마니의 대답에 의견을 충분히 명성을 가지고 있지 않지만, [패스 objectAtIndex : 0] 응용 프로그램의 문서 디렉토리 얻을 수있는 표준 방법입니다
NSSearchPathForDirectoriesInDomains 함수가 원래용으로 설계 되었기 때문에Mac OS X에서는 이 각각의 디렉토리 중 하나보다 많을 수 있습니다. 단일 경로보다 경로 배열을 반환합니다. iOS에서 결과 배열은 디렉토리에 대한 단일 경로를 포함해야합니다. 목록 3-1은이 함수의 일반적인 용도를 보여줍니다.
목록 3-1 응용 프로그램의 문서 디렉토리의 경로를 얻기
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
문서 경로를 검색하는 가장 간단한 방법은 다음과 같습니다 :'NSString * path = [@ "~/Documents"stringByExpandingTildeInPath]; ' –
이 나를 위해 잘 작동
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *appSupportDir = [fm URLsForDirectory:NSDocumentsDirectory inDomains:NSUserDomainMask];
NSURL* dirPath = [[appSupportDir objectAtIndex:0] URLByAppendingPathComponent:@"YourFolderName"];
NSError* theError = nil; //error setting
if (![fm createDirectoryAtURL:dirPath withIntermediateDirectories:YES
attributes:nil error:&theError])
{
NSLog(@"not created");
}
NSDocumentsDirectory 대신 NSDocumentDirectory 여야합니다. –
디렉토리 생성에 도움이 될 수 있습니다 코드 다음은
을-(void) createDirectory : (NSString *) dirName {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Fetch path for document directory
dataPath = (NSMutableString *)[documentsDirectory stringByAppendingPathComponent:dirName];
NSError *error;
if (![[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]) {
NSLog(@"Couldn't create directory error: %@", error);
}
else {
NSLog(@"directory created!");
}
NSLog(@"dataPath : %@ ",dataPath); // Path of folder created
}
사용법 :
[self createDirectory:@"MyFolder"];
결과 :
디렉토리를 만들어!
데이터 경로의 경우 :/var/모바일/응용 프로그램/BD4B5566-1F11-4723-B54C-F1D0B23CBC이/문서/MyFolder에
스위프트 1.2 및 iOS 8
만들기 사용자 정의 디렉토리 (이름 = "MyCustomData") 디렉토리가 존재하지 않는 경우에만.
let documentDirectoryPath: String = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first!
if !NSFileManager.defaultManager().fileExistsAtPath(documentDirectoryPath) {
do {
try NSFileManager.defaultManager().createDirectoryAtPath(documentDirectoryPath, withIntermediateDirectories: false, attributes: nil)
} catch let createDirectoryError as NSError {
print("Error with creating directory at path: \(createDirectoryError.localizedDescription)")
}
}
스위프트 2 용액
답장을 보내면 이 작동하지만 응용 프로그램의 문서 폴더 옆에 "MyFolder"폴더가 생성됩니다. 그 안에는 없습니다. 왜 실제로 모르겠습니까?스위프트 3 해결책 :
private func createImagesFolder() {
// path to documents directory
let documentDirectoryPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
if let documentDirectoryPath = documentDirectoryPath {
// create the custom folder path
let imagesDirectoryPath = documentDirectoryPath.appending("/images")
let fileManager = FileManager.default
if !fileManager.fileExists(atPath: imagesDirectoryPath) {
do {
try fileManager.createDirectory(atPath: imagesDirectoryPath,
withIntermediateDirectories: false,
attributes: nil)
} catch {
print("Error creating images folder in documents dir: \(error)")
}
}
}
}
스위프트 3.0
var error: Error?
var paths: [Any] = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
var documentsDirectory: String = paths[0] as? String ?? ""
// Get documents folder
var dataPath: String = URL(fileURLWithPath: documentsDirectory).appendingPathComponent("/MyFolder").absoluteString
if !FileManager.default.fileExists(atPath: dataPath) {
try? FileManager.default.createDirectory(atPath: dataPath, withIntermediateDirectories: false, attributes: nil)
}
- 1. 파일이 문서 폴더 내에 존재합니다.
- 2. CRM4 플러그인 내에 폴더 만들기
- 3. 아이폰은 문서 폴더
- 4. DirectoryEntry를 사용하여 폴더 만들기
- 5. CSV 값으로 폴더 만들기
- 6. PHP : 레지스트리에 폴더 만들기
- 7. 임시 폴더 만들기
- 8. Monomac packager 폴더 만들기
- 9. 컨트롤러에 하위 폴더 만들기
- 10. 오늘 날짜의 폴더 만들기
- 11. imagepng - 공용 폴더 만들기
- 12. jquery를 사용하여 폴더 만들기
- 13. 프로그램을 사용하여 폴더 만들기
- 14. Mac 앱에서 폴더 구조를 만드시겠습니까?
- 15. PHP 소유자로 폴더 만들기 99
- 16. 다른 앱에서 파일을 여는 데 필요한 문서 /받은 편지함 폴더
- 17. TFS 보안 및 문서 폴더
- 18. 현재 문서 라이브러리에 폴더 추가
- 19. 문서 라이브러리의 모든 폴더 채우기
- 20. IOS 이상한 빌드 폴더 이름?
- 21. 폴더 (asp.net) 내에 기본 index.html 파일 열기
- 22. fopen에 대한 새 폴더 만들기
- 23. 박쥐 파일을 사용하여 폴더 만들기
- 24. Android SDK를 사용하여 폴더 만들기
- 25. 리소스 폴더에 하위 폴더 만들기
- 26. DFC (Documentum)로 폴더 만들기
- 27. 폴더 하위 경로의 NSArray 만들기
- 28. actionscript에서 폴더 시뮬레이션 만들기 3
- 29. 만들기 htaccess로 RewriteRule의 특정 폴더
- 30. Cocoa를 사용하여 폴더 아이콘 만들기
번째
–죄송합니다 - 거기에 오타가 있었으므로 문서 경로에 @ "MyFolder"가 아닌 @ "/ MyFolder"를 추가해야합니다. – Vladimir
예, 발견했습니다. 도움을 주셔서 감사합니다. –