https://developer.apple.com/documentation/uikit/uidocumentpickerviewcontroller
"A view controller that provides access to documents or destinations outside your app’s sandbox."
앱 샌드박스의 외부에 있는 문서 혹은 목적지에 접근권한을 제공하는 뷰 컨트롤러입니다.
@MainActor class UIDocumentPickerViewController : UIViewController
문서를 열거나 익스포트하고, 선택적으로 복사하기 위해 문서를 선택할 수 있도록 문서 picker 뷰 컨트롤러를 사용하시기 바랍니다. 피할 수 있는 경우 문서 복사는 하지 않으시기 바랍니다. 문서 picker는 두 가지 모드에서 작동합니다.
열기 및 익스포트 작업 모두 앱 샌드박스의 외부에서 문서에 대한 접근권한을 승인합니다. 이 접근권한은 사용자가 문서를 작업할 때 사용자에게 높은 수준의 유연함을 제공합니다. 그러나 파일 처리에 있어서 복잡성이 추가됩니다. 외부 문서는 아래의 추가적인 요구사항을 갖습니다.
열기 및 이동 작업은 모든 외부 문서에 대해 security-scoped URL을 제공합니다. 이 문서에 접근하거나 북마크에 남길 수 있도록 startAccessingSecurityScopedResource()
메소드를 호출하고, 이들을 해제하기 위해 stopAccessingSecurityScopedResource()
메소드를 호출하시기 바랍니다. 문서 관리를 위해 UIDocument
서브클래스를 사용하고 있다면, security-scoped URL을 자동으로 관리합니다.
열기 및 이동 작업을 제공하는 URL을 저장하지 않아야 합니다. 그러나 접근권한을 갖도록 startAccessingSecurityScopedResource()
를 호출한 후 이러한 URL에 북마크를 저장할 수는 있습니다. security-scoped URL을 생성해서 bookmarkData(options:includingResourceValuesForKeys:relativeTo:)
메소드를 호출하고 withSecurityScope
옵션에 전달하시기 바랍니다.
외부 문서로 작업하는 것에 대한 더 많은 정보는 Providing Access to Directories와 Adding a Document Browser to Your App을 살펴보시기 바랍니다.
Providing Access to Directories
https://developer.apple.com/documentation/uikit/view_controllers/providing_access_to_directories
https://velog.io/@panther222128/Providing-Access-to-Directories
Adding a Document Browser to Your App
https://developer.apple.com/documentation/uikit/view_controllers/adding_a_document_browser_to_your_app
https://velog.io/@panther222128/Adding-a-Document-Browser-to-Your-App
사용자에게 앱에서 로컬 혹은 원격 문서에 대한 접근 권한을 제공합니다.
https://developer.apple.com/documentation/uikit/view_controllers/adding_a_document_browser_to_your_app
https://velog.io/@panther222128/Adding-a-Document-Browser-to-Your-App
앱 컨테이너 외부에 있는 디렉토리의 컨텐트에 접근하기 위해 문서 picker를 사용합니다.
https://developer.apple.com/documentation/uikit/view_controllers/providing_access_to_directories
https://velog.io/@panther222128/Providing-Access-to-Directories
로컬 및 클라우드에 저장한 문서에 브라우징하거나 액션을 수행하기 위한 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uidocumentbrowserviewcontroller
https://velog.io/@panther222128/UIDocumentBrowserViewController
앱이 직접 처리할 수 없는 파일 포맷으로 프리뷰, 열기, 프린트 파일을 하는 뷰 컨트롤러입니다.
https://developer.apple.com/documentation/uikit/uidocumentinteractioncontroller
https://velog.io/@panther222128/UIDocumentInteractionController