
XPC ?
- 서비스 부트스트래핑(manager ↔ user)과 IPC(프로세스 간 통신)를 결합한 라이브러리. 즉, 서비스를 시작하고 실행하며 메시지를 교환하는 것과 관련된 모든 것.
- 앱을 서비스로 분리하는데 도움이 됩니다(다른 책임, 권한 등 포함).
- 이러한 서비스는 앱 번들 내에 배포됩니다.
- Foundation에 추가되어 있는 기능
Why XPC ?
- 오류 격리: 서비스가 중단되어도 다른 서비스에 영향을 미치지 않음
- 다양한 권한/자격: 앱이 iCloud나 연락처 라이브러리 등에 액세스할 수 있다고 해서 앱 서비스가 이를 자동으로 상속한다는 의미는 아닙니다. 앱은 서비스에 부여할 권한을 결정하며, 최소 필수 권한의 원칙을 사용.
- XPC는 이러한 모든 서비스의 수명 주기를 관리(생성/일시 중지/등이 필요 없음)
XPCS ?
bundle 서비스
- 앱 번들 내에서 배송
- Stateless: 무언가(서비스, 일부 요청)를 수행하기 위해 띄워저 있음
- 완전관리형 수명주기
launched 서비스