https://developer.apple.com/documentation/foundation/nsfileproviderservice
"A service that provides a custom communication channel between your app and a File Provider extension."
앱과 파일 제공자 확장 사이에서 커스텀 커뮤니케이션 채널을 제공하는 서비스입니다.
class NSFileProviderService : NSObject
소통하도록 하려면 앱과 파일 제공자 확장 모두 서비스의 부분을 구현해야 합니다.
앱과 파일 제공자 확장은 XPC 서비스를 사용해서 소통합니다. 이 서비스는 파일 제공자 확장에 의해 관리되는 아이템에 한해서만 액션을 수행합니다. 더 많은 정보는 Creating XPC Services를 살펴보시기 바랍니다.
Creating XPC Services
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingXPCServices.html#//apple_ref/doc/uid/10000172i-SW6
서비스는 애플의 API에서 제공되지 않는 커스텀 액션을 정의할 수 있도록 해줍니다. 앱과 파일 제공자 확장 모두는 서비스의 이름 및 프로토콜을 수용합니다. 외부 소스를 통해 이름 및 프로토콜을 소탕하시기 바랍니다(예를 들어 이름과 프로토콜 모두를 정의하고 있는 헤더 파이 포스팅 혹은 이들 모두를 포함하고 있는 라이브러리의 퍼블리싱). 서비스는 앱 혹은 파일 제공자 확장에 의해 정의될 수 있습니다.
서비스의 프로토콜을 정의할 때, 각 메소드에 대한 파라미터는 아래 규칙을 고수해야 합니다.
NSSecureCoding
을 따르고 있어야 합니다.NSXPCInterface
클래스의 classes(for:argumentIndex:ofReply:)
메소드를 사용해서 유효한 타입을 선언해야 합니다.Property List Types and Objects
https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/PropertyList.html#//apple_ref/doc/uid/TP40008195-CH44-SW2