Property List Key

App Groups Entitlement

A list of identifiers specifying the groups your app belongs to.

Details

Key
com.apple.security.application-groups
Type
array of strings

Discussion

App groups allow multiple apps produced by a single development team to access shared containers and communicate using interprocess communication (IPC). Apps may belong to one or more app groups.

For iOS, format the identifier as follows:

group.<group name>

For macOS:

<team identifier>.<group name>

Apps within an app group share access to a group container. For more information about container creation, location, and deletion, see containerURL(forSecurityApplicationGroupIdentifier:).

Apps within a group can communicate with other members in the group using IPC mechanisms including Mach IPC, POSIX semaphores and shared memory, and UNIX domain sockets. In macOS, use app groups to enable IPC communication between two sandboxed apps, or between a sandboxed app and a non-sandboxed app.

App groups also act as keychain access groups. For more information about the relationship between app groups and keychain access groups, see Sharing Access to Keychain Items Among a Collection of Apps.

To add this entitlement to your app, enable the App Groups capability in Xcode, and add the groups your app belongs to.

See Also

Security

App Sandbox

Restrict access to system resources and user data in macOS apps to contain damage if an app becomes compromised.

Hardened Runtime

Manage security protections and resource access for your macOS apps.

Keychain Access Groups Entitlement

The identifiers for the keychain groups that the app may share items with.

Key: keychain-access-groups
Data Protection Entitlement

The level of data protection that encrypts sensitive user data when accessed on some devices.

Key: com.apple.developer.default-data-protection