<!--
{
  "documentType" : "article",
  "framework" : "Updates",
  "identifier" : "/documentation/Updates/XPC",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "XPC updates"
}
-->

# XPC updates

Learn about important changes to XPC.

## Overview

Browse notable changes in [XPC](https://developer.apple.com/documentation/xpc).

## March 2024

### Security

- Test whether the peer executable that communicates with your app over an XPC connection has an expected entitlement by calling <doc://com.apple.documentation/documentation/XPC/xpc_connection_set_peer_entitlement_exists_requirement(_:_:)>, and whether it has a specific value for an entitlement by calling <doc://com.apple.documentation/documentation/XPC/xpc_connection_set_peer_entitlement_matches_value_requirement(_:_:_:)>.
- Test whether the peer executable that communicates with your app over an XPC connection is an Apple platform binary with a given signing identifier by calling <doc://com.apple.documentation/documentation/XPC/xpc_connection_set_peer_platform_identity_requirement(_:_:)>.
- Test whether your Apple Developer team signed the peer executable that communicates with your app over an XPC connection by calling <doc://com.apple.documentation/documentation/XPC/xpc_connection_set_peer_team_identity_requirement(_:_:)>.
- Test whether the peer executable that communicates with your app over an XPC connection satisfies a lightweight code requirement by calling <doc://com.apple.documentation/documentation/XPC/xpc_connection_set_peer_lightweight_code_requirement(_:_:)>.

## June 2023

- Create XPC services using native Swift syntax. Use <doc://com.apple.documentation/documentation/XPC/XPCListener> to create an XPC server that listens for messages from other processes. Use <doc://com.apple.documentation/documentation/XPC/XPCSession> to create clients that connect to servers and exchange messages.
- For C and Objective-C projects, use the corresponding <doc://com.apple.documentation/documentation/XPC/xpc_listener_t> and <doc://com.apple.documentation/documentation/XPC/xpc_session_t-10if0> APIs.
- In Xcode, use the updated XPC services target template to choose whether you want to use the high-level <doc://com.apple.documentation/documentation/Foundation/NSXPCConnection> or the low-level `libXPC` APIs.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)