Questions tagged [macos-system-extension]

System Extension bundles were introduced with macOS 10.15 as eventual replacements for kernel extensions.

System Extension bundles were introduced with macOS 10.15 as eventual replacements for kernel extensions.

66 questions
9
votes
1 answer

How to memory-map a PCI BAR using PCIDriverKit?

How to memory-map a PCI Base Address Register (BAR) from a PCIDriverKit driver (DEXT) to a userspace application? Memory-mapping from a driver extension to an application can be accomplished by implementing the IOUserClient::CopyClientMemoryForType…
vially
  • 1,516
  • 16
  • 22
6
votes
2 answers

macOS System Extension: Entitlements and Signing with Provisioning Profile

I have a macOS System Extension for a USB device driver. It works when I disable SIP and manually sign using my codesign identity (generated from my Apple ID using "security find-identity" from Terminal) - as described here:…
6
votes
2 answers

Is there a way to add the Network Extensions capability to a macOS app without joining the Apple Developer Program?

I want to build a macOS app that filters specific network requests so I need to add the NetworkExtensions capability. But after I add a NetworkExtensions capability, I get the following message: Your development team, "Potato Dev2", does not support…
5
votes
2 answers

Alternative for Virtual file system (VFS) kernel extension on macOS M1

we have developed a kernel extension (KEXT) for a virtual file system (VFS) on macOS to integrate our software with external programs like Adobe InDesign or Microsoft Word. Our software and the KEXT are used by many of our customers. As it looks…
5
votes
2 answers

How to Write a driverkit extension for Mac OS catalina

I am trying to write a driver kit extension for one of devices. I have not got Information on How to write a driverkit extension for mac os Catalina. The only Documentation which I got is DriverKit Reference:…
4
votes
1 answer

How to create a IOUSBHostPipe::CompleteAsyncIO callback?

I am writing a SystemExtension to communicate with a usb-device. My initial plan is to create a class Transfer that allocates the necessary IOMemoryDescriptor, and then pass the interface that I want the Transfer class to communicate with. I would…
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
4
votes
1 answer

Can I use STL in a DriverKit driver?

Can I use for example std::vector in DriverKit driver in macOs / XCode? DriverKit has some container class like OSArray https://developer.apple.com/documentation/driverkit/osarray?language=objc If I create a new "DriverKit driver" project and…
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
4
votes
1 answer

How to set `com.apple.developer.driverkit.transport.usb` entitlement?

I am unsure about how to set the com.apple.developer.driverkit.transport.usb key in my dext entitlements file. The Info.plist file already contains the IOKitPersonalities dictionary, and reading about the com.apple.developer.driverkit.transport.usb…
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
4
votes
2 answers

kIOReturnNotPermitted from IOServiceOpen connecting to SystemExtension IOService

I am trying to create a client connection to a SystemExtension IOService. I can see that my IOUserClient subclass is created (init() and Start(IOService*) is called), but the return code from IOServiceOpen returns kIOReturnNotPermitted. I am making…
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
3
votes
1 answer

MacOS PCI dext: scatter-gather DMA to application buffer

I am porting a MacOS PCI driver written with IOKit to the new PCIDriverKit framework. I am able to perform DMA with a contiguous buffer allocated inside the dext (with IOBufferMemoryDescriptor::Create). But I would also like to perform DMA to and…
3
votes
0 answers

When can I expect OSAction::Cancel handler to be called?

I have a Driverkit driver that takes care of a USB device. The driver unpacks data in the USB packets, and writes the data to buffers that are shared between the app and the driver. The shared buffers are created by the app with…
tuple_cat
  • 1,165
  • 2
  • 7
  • 22
3
votes
1 answer

How to implement and publish virtual audio driver to Apple App Store?

At 3:38-4:00 in the session video, it seems Baek San Chang says that AudioDriverKit will not be allowed to be used for virtual audio devices Video: https://developer.apple.com/videos/play/wwdc2021/10190/ Here is what he says: Keep in mind that the…
user1884325
  • 2,530
  • 1
  • 30
  • 49
3
votes
1 answer

DEXT crashes on macOS 10.15.7

I successfully built and ran Apple's sample Communicateing Between a DriverKit Extension and a Client App on macOS 11, meaning I can install the DEXT and also control it via it's client. On macOS 10.15.7 though, I can build it and install the DEXT,…
cro76
  • 33
  • 4
3
votes
1 answer

How to get DriverKit System Extension log output

In this part of the 2019 WWDC session demo of DriverKit System Extensions you can see the driver and only the driver's log output being streamed using this command: log stream --predicate 'sender = "MyUserUSBInterfaceDriver.dext"' --style syslog I…
Rhythmic Fistman
  • 34,352
  • 5
  • 87
  • 159
3
votes
0 answers

How to include CocoaPods framework inside a MacOS system extension?

I'm trying to create an application that uses a system extension (NEFilterPacketProvider to be exact). Currently I'm using CocoaPods to manage my dependencies. Everything works fine, up until the point when I try to use a framework inside my system…
1
2 3 4 5