티스토리 뷰

흔히들 저희 앱에서 이미지나 텍스트 파일을 기기에 저장하고 싶을 때가 있잖아요?

말 그대로 이번 포스트는 아이폰 '파일' -> '나의 iphone'에 데이터를 저장하는 것입니다!

 

1. 프로젝트 생성

기본적으로 사용하고자 하는 프로젝트를 생성해줍니다. 이 부분은 너무 기본적이니까 그냥 넘어갈게요.

 

2. Info.plist에 권한 추가하기

info.plist

 

위의 info.plist에서 가장 상단에 있는 

- Supports opening documents in place

- Application supports iTunes file sharing 

두 개의 권한을 반드시 허용해주어야 합니다.

 

추가하는 방법은 상단에 Key 바로 밑에  Information Property List 에 마우스를 가져다대면 + 버튼이 생기는 것을 보실 수 있습니다.

거기에서 + 버튼을 클릭해 직접 타이핑 하면 자동완성으로 뜰테니 거기서 선택하시면 됩니다.

 

3. viewDidLoad()에 코드 추가

// 1. 인스턴스 생성 - 동일
        let fileManager = FileManager.default

        // 2. 도큐먼트 URL 가져오기 - 동일
        let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first!
        
        
//         3. 파일들을 저장할 Directory 설정
        let directoryURL = documentsURL.appendingPathComponent("Test_Folder")
        
        
        do {
            // 3-1. 폴더 생성
            try fileManager.createDirectory(atPath: directoryURL.path, withIntermediateDirectories: false, attributes: nil)
        } catch let e {
            // 3-2. 오류 처리
            print(e.localizedDescription)
        }
        
        // 4. 저장할 파일 이름 (확장자 필수)
        let helloPath = directoryURL.appendingPathComponent("Hello.txt")
        // 파일에 들어갈 string 
        let text = "Hello Test Folder"
        
        do {
        	// 4-1. 파일 생성
            try text.write(to: helloPath, atomically: false, encoding: .utf8)
        }catch let error as NSError {
            print("Error creating File : \(error.localizedDescription)")
        }

 

- documentsURL

기기에서 documentDirectory에 접근하겠다는 것이고, 이 외에도 많은 접근할 수 있는 곳들이 있지만 저희가 저장할 곳은 documentDirectory가 되겠습니다.

 

- directoryURL

document에 접근하였으니, 그 안에 폴더를 만든다는 것인데 "Test_Folder"가 그 이름이 되겠습니다

 

- 3-1 폴더 생성

fileManager로 상단에 만들어놓은 "Test_Folder"라는 이름의 폴더를 생성하겠다는 것 입니다.

 

- 3-2 오류 처리

대부분 atPath의 경로가 온전하지 않을 때 오류를 뱉어냅니다. 

 

- 4-1 파일 생성

이 때, "Hello.txt" 처럼 확장자를 꼭 써주셔야 합니다.

 

 

이 외에는 주석처리 해 두었으니 참고하시면 되겠습니다!!

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함