iOS/Swift + Objective-c

[Swift] FileManager로 디바이스에 파일 저장하기 (Document)

안경 쓴 귀니 2022. 8. 4. 21:51
반응형

FileManager 사용하여 디바이스에 파일 저장하기 (Document)

 

아이폰에 기본적으로 있는 '파일' 앱에 파일을 저장하는 방법입니다.

 

목차

사용 방법

저장된 파일 확인

참고사항

 

사용 방법

1. 코드 작성

설명은 주석을 확인해주세요.


    let fileManager = FileManager.default
    // 도큐먼트 URL
    let documentURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first!
    // 도큐먼트 URL에 생성할 폴더명
    let directoryURL = documentURL.appendingPathComponent("FolderName")
    
    do {
        // 폴더 생성
        try fileManager.createDirectory(atPath: directoryURL.path, withIntermediateDirectories: false, attributes: nil)
    } catch let e as NSError {
        print(e.localizedDescription)
    }
    
    // 저장할 파일명 (확장자 필수)
    let fileName = directoryURL.appendingPathComponent("FileName.txt")
    // 파일에 넣을 텍스트
    let text = "Hello World!"
    
    do {
        // 파일 생성
        try text.write(to: fileName, atomically: false, encoding: .utf8)
    } catch let e as NSError {
        print(e.localizedDescription)
    }

 

2. Info.plist 설정

아래 두 항목을 추가합니다.

  • UIFileSharingEnabled(Applcation supports iTunes file sharing)
    : 앱이 파일을 공유하는지 여부
  • LSSupportsOpeningDocumentsInPlace(Supports opening documents in place)
    : 앱이 원본 문서를 열 수 있는지 여부

 

1) Info.plist > Source Code

<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>

2) Info.plist > Property List

 

  •  

 

 

저장된 파일 확인

1. 아이폰 '파일' 앱 실행

 

2. 나의 iPhone > 프로젝트명(파일매니저앱)

 

3. 생성한 폴더 및 파일 (FolderName > FileName)

 

 

참고사항

앱 삭제 시 '파일'앱에 저장된 파일도 같이 삭제되었습니다.

 

https://developer.apple.com/documentation/foundation/filemanager

 

Apple Developer Documentation

 

developer.apple.com

 

반응형