I understand that there is a developer mode which ignores some checks (SIP, Notarization - what is this? - etc...)
I am trying to build the sample for building an Endpoint Security app here, and I get the error:
The sample has a few instructions in the beginning:Signing for "SampleEndpointApp" requires a development team. Select a development team in the Signing & Capabilities editor.
Generate your Developer ID certificate. Refer to Developer ID for instructions.
Request the Endpoint Security entitlement; see System Extensions and DriverKit.
In Xcode, build and sign both the app and the extension with your Developer provisioning profile.
Code Block <dict> <key>com.apple.developer.endpoint-security.client</key> <true/> </dict>
in the <AppName>.entitlements file, and disable SIP. I haven't managed to disable SIP but I applied
Code Block DevToolsSecurity -enable
without effect on building the project. I also tried
Code Block systemextensionsctl developer on
with a message that SIP needs to be disabled to apply this.
The reason I don't have SIP disabled yet is that the mac is a remote machine and I can't seem to get it into recovery mode to disable it. I suppose my question is, is there any way to disable SIP or get this developer mode without recovery mode?
In general though what's the proper set of steps to start developing system extensions without requiring signing and other deployment criteria?
Moreover, there are more things I don't get. The presentation here (related to the same code above) says a few confusing things to me:
What does "application is bundled as a system extension"? In a different presentation I understood that the extension is supposed to be a separate target, so what's this about bundling? Can you have a "standalone" system extension app?If your application is bundled as a system extension, there is an additional entitlement required for the containing app bundle in order to install the extension.
Also:
What is this saying? Deploying a system extension seems to suggest you can have a standalone system extension.If you deploy as a system extension, on installation, we pre-populate your extension in this dialogue to make it easier on users to enable these permissions.
If your product is being deployed on managed devices, there are two MDM payloads available to aid distribution.
Please excuse the confusion, I am new to all the tech and the mac environment, any pointer is of help.