티스토리 뷰
흔히들 저희 앱에서 이미지나 텍스트 파일을 기기에 저장하고 싶을 때가 있잖아요?
말 그대로 이번 포스트는 아이폰 '파일' -> '나의 iphone'에 데이터를 저장하는 것입니다!
1. 프로젝트 생성
기본적으로 사용하고자 하는 프로젝트를 생성해줍니다. 이 부분은 너무 기본적이니까 그냥 넘어갈게요.
2. 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" 처럼 확장자를 꼭 써주셔야 합니다.
이 외에는 주석처리 해 두었으니 참고하시면 되겠습니다!!
'IOS' 카테고리의 다른 글
[IOS] Xcode Github 계정연동 Token 구하기 (0) | 2020.12.08 |
---|---|
[IOS] 생성한 파일 Github에 Commit & Push 하기 (0) | 2020.12.08 |
[IOS] IOS 앱 만들기 기초 - Xcode 다운받기 & IOS 파일 생성하기 (0) | 2020.12.07 |
- Total
- Today
- Yesterday
- APP
- repository
- Application supports iTunes file sharing
- File
- Push
- Token
- apple
- Mac
- create
- Xcode
- 나의iphone
- myiphone
- develop
- GenerateToken
- FileUploads
- IOSDeveloper
- FileManager
- SWIFT
- commit
- IOS
- Uploads
- XcodeGithub
- LSSupportsOpeningDocumentsInPlace
- SwiftDeveloper
- Github
- accounts
- application
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |