SwiftUI에서 파일 앱의 '나의 iPad' 경로에 나의 앱의 저장소를 생성해보자:)

dqQQQ

·

2023. 11. 29. 16:00

개요

iOS 파일 시스템도 알아야한다. 이거랑 나중에 같이 포스팅 할 예정이다.




코드


import SwiftUI

struct ContentView: View {
    var body: some View {
        Button("Create and Share File") {
            createFileAndShare()
        }
    }

    func createFileAndShare() {
        let manager = FileManager.default
        let documentsDirectory = manager.urls(for: .documentDirectory, in: .userDomainMask).first!
        let fileURL = documentsDirectory.appendingPathComponent("example.txt")
        let fileContent = "Hello, Files app!"

        do {
            try fileContent.write(to: fileURL, atomically: true, encoding: .utf8)

            // Share file
            if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
                            let window = UIWindow(windowScene: scene)
                            let viewController = UIHostingController(rootView: ContentView())
                            window.rootViewController = viewController

                            let activityViewController = UIActivityViewController(activityItems: [fileURL], applicationActivities: nil)
                            viewController.present(activityViewController, animated: true, completion: nil)
                        }

        } catch {
            print("Error writing file: \(error.localizedDescription)")
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

이 코드를 SwiftUI 프로젝트에 넣고 info.plist에 가서 Supports Document Browser를 추가하고 Yes라고 설정하면된다.

그러고 파일 앱에 가면 나의 앱 저장소가 만들어진다.