[SwiftUI]
코드 |
Button(action: { exportShow = true }) { Image(systemName: "square.and.arrow.up") .frame(width: 30.0, height: 30.0) } .sheet(isPresented: $exportShow) { if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first { let fileURL = dir.appendingPathComponent(repo_n + "/") // 디렉토리 공유 (파일 이름 넣으면 파일을 공유할 수 있음) ShareSheet(activityItems: [fileURL]) } } |
struct ShareSheet: UIViewControllerRepresentable { typealias Callback = (_ activityType: UIActivity.ActivityType?, _ completed: Bool, _ returnedItems: [Any]?, _ error: Error?) -> Void let activityItems: [Any] let applicationActivities: [UIActivity]? = nil let excludedActivityTypes: [UIActivity.ActivityType]? = nil let callback: Callback? = nil func makeUIViewController(context: Context) -> UIActivityViewController { let controller = UIActivityViewController( activityItems: activityItems, applicationActivities: applicationActivities) controller.excludedActivityTypes = excludedActivityTypes controller.completionWithItemsHandler = callback return controller } func updateUIViewController(_ uiViewController: UIActivityViewController, context: Context) { // nothing to do here } } |