투케이2K

323. (ios/objc) 오브젝티브 씨 NSFileManager 사용해 DocumentDirectory 파일 (file) 생성 및 저장 본문

IOS

323. (ios/objc) 오브젝티브 씨 NSFileManager 사용해 DocumentDirectory 파일 (file) 생성 및 저장

투케이2K 2022. 11. 22. 16:23
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : Objc

 

[소스 코드]

// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
    printf("\n");
    printf("==================================== \n");
    printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
    printf("==================================== \n");
    printf("\n");
    
    
    /*
     ------------------------------------
     [요약 설명]
     ------------------------------------
     1. NSFileManager : 아이폰 [내파일] >> [애플리케이션 폴더] 에 있는 [파일] 을 읽기, 쓰기를 할 수 있습니다
     ------------------------------------
     2. 필요 info plist 설정 :
     
     아이폰 파일 접근 설정 : Supports opening documents in place : YES
     아이튠즈 공유 설정 : Application supports iTunes file sharing : YES
     ------------------------------------
     */
    
    
    // [try catch 구문 정의 실시]
    @try {
        
        // [파일 명칭 및 내용 작성 실시]
        NSString *fileName = @"test.txt";
        NSString *fileContents = @"test contents";
        NSData *fileData = [fileContents dataUsingEncoding:NSUTF8StringEncoding];
        
        
        // [NSFileManager 객체 생성 실시]
        NSFileManager *fileManager = [NSFileManager defaultManager];
        
        
        // [File 이 저장될 path 확인]
        NSArray *filePath = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
        NSURL *documentsURL = [filePath lastObject];
        NSString *savePathString = [NSString stringWithFormat:@"%@%@", documentsURL.absoluteString, fileName];
        NSURL *savePathUrl = [NSURL URLWithString:savePathString];

        
        // [파일 생성 실시]
        [fileData writeToURL:savePathUrl atomically:TRUE];
        
        
        // [로그 출력 실시]
        printf("\n");
        printf("==================================== \n");
        printf("[ViewController >> try :: 로직 처리 결과 확인 실시] \n");
        printf("[savePathString :: %s] \n", savePathString.description.UTF8String);
        printf("==================================== \n");
        printf("\n");

    }
    @catch (NSException *exception) {
        printf("\n");
        printf("==================================== \n");
        printf("[ViewController >> catch :: 예외 상황 확인] \n");
        printf("[name :: %s] \n", exception.name.description.UTF8String);
        printf("[reason :: %s] \n", exception.reason.description.UTF8String);
        printf("==================================== \n");
        printf("\n");
    }
}
 

[결과 출력]

 

 

반응형
Comments