Contents

xpc_connection_set_peer_platform_identity_requirement(_:_:)

Sets a requirement that the executable for the peer process has a valid code signature that identifies it as an Apple-signed binary with the given signing identifier.

Declaration

func xpc_connection_set_peer_platform_identity_requirement(_ connection: xpc_connection_t, _ signing_identifier: UnsafePointer<CChar>?) -> Int32

Parameters

  • connection:

    The XPC connection.

  • signing_identifier:

    The code-signing identifier for the peer process’s executable. This value is typically a Bundle ID for apps and extensions. Pass NULL to indicate that any Apple-signed binary is acceptable.

Return Value

On success, 0. Otherwise, a value from Errors.

Discussion

When you set this requirement on a connection, the operating system checks that peer process satisfies the requirement every time it sends a message to your process. If the peer process initiated the connection and its executable doesn’t satisfy the lightweight code requirement, then you don’t receive a message and the operating system doesn’t call your event handler. If your process sent a message to its peer expecting a reply, and its executable doesn’t have the requested entitlement, then you don’t receive a reply and the operating system delivers XPC_ERROR_PEER_CODE_SIGNING_REQUIREMENT instead.

See Also

Remote peer information