reply to the review team and tell them it is an Xcode bug, you're welcome to refer to the bug I filed FB13688443 "Xcode strips App Sandbox entitlement from dext". It would be good if you filed your own bug. Here are my steps to reproduce:
create a new macOS project.
observe that the newly-created app target in the project has a .entitlements file. By default, that .entitlements file contains an App Sandbox = YES entry.
add a new DriverKit project to the target
observe that the dext target does not have a .entitlements file.
Note that this page
https://developer.apple.com/documentation/driverkit/requesting_entitlements_for_driverkit_development
says “Xcode provides a default entitlements file for every new DriverKit driver you create. “
no, it doesn’t.
Archive the application, then export the archive to a local copy.
Use
codesign -dvvv —entitlements -
to dump the entitlements of the dext.
Return to the Xcode project, add a DriverKit capability to the dext target using the + button on the Signing and Capabilities page. This causes a .entitlements file to be added to the dext target, but it doesn’t have an App Sandbox entitlement in it.
This page: https://developer.apple.com/documentation/driverkit/requesting_entitlements_for_driverkit_development
says “The default driver entitlements file contains only the DriverKit and App Sandbox entitlements.”
But it doesn’t contain any entitlements by default.
In the newly-created .entitlements file for the dext, add two entitlements, one called “Fake-entitlement”, and the App Sandbox entitlement.
Archive the app again, export it to a local copy, and examine the entitlements of the dext now.
App Sandbox is absent, but Fake-entitlement is present.
Topic:
Code Signing
SubTopic:
Entitlements
Tags: