Can't load my driverkit driver

Hi all,


I wrote a "Hello World" driverkit extension and also requested entitlements for my driver.

I am able to build the driver with correct Provisioning Profile without any error.

When I loaded my driver, I got "Extension not found in App bundle" error message.

I am so confused because I was add "System Extension" in App's "Signing & Capabilities".

And also embedded my dext in App's "Frameworks, Libraries, and Embedded Content".

If I removed the "System Extension" capability from my App. I will get "The operation couldn't be completed." error 1.

I don't know how to config them in correct way.

Do I need to have "Identifier" and "Profile" with "System Extension" capability for my App ??


Anyone can give me some instructions ??

Accepted Reply

Hi fptsilab,


Below are what I've done. I don't know if these are correct since I still have problem loading my driver. (no problem with driver activation)

If you can successfully load your driver, please share with me.

(I am able to load my driver with correct properties in IOKitPersonalities in info.plist)


1. Request an entitlement. (https://developer.apple.com/system-extensions/)

Only account holder can make this request.

2. Go to "Certificates, Identifiers & Profiles" and add an App ID in "Identifiers" page.

While you configure your App IDs, the Bundle ID you are going to enter should match with your driver's bundle ID

And choose the capabilities from "Extentended Capability"

3. Go to "Profiles" page to add a profile and include the App IDs you created in step2.

Also include the entitlement from "Entitlements" dropdown.

4. Import the profile to your XCode project in the "Signing" section in "Build Settings"

Replies

"Extension not found in App bundle" - have you verified that your driver extension is located in the right place in the app bundle (in ***.app/Contents/Library/SystemExtensions/)? And if it is there, have you verified that it has the right name and bundle ID?

I've often spent quite a while tracking down bugs because I misspelled a bundle ID somewhere...


hth, Stuart

Hi gracess,


Could you please tell me how to create a correct Provisioning Profile to build an DriverKit Extension. Currently, I am stuck on that. I tried to create some provisioning profile to build source code but all of them meet error "missing com.apple.developer.driverkit entilement" when built.

I found the problem why I can't activate my driver.

It was because I forgot to assign my driver's bundle id to OSSystemExtensionRequest.activationRequest.


Although I can now activate my driver correctly, but still have some issues need to be solved for driver loading.

Hi fptsilab,


Below are what I've done. I don't know if these are correct since I still have problem loading my driver. (no problem with driver activation)

If you can successfully load your driver, please share with me.

(I am able to load my driver with correct properties in IOKitPersonalities in info.plist)


1. Request an entitlement. (https://developer.apple.com/system-extensions/)

Only account holder can make this request.

2. Go to "Certificates, Identifiers & Profiles" and add an App ID in "Identifiers" page.

While you configure your App IDs, the Bundle ID you are going to enter should match with your driver's bundle ID

And choose the capabilities from "Extentended Capability"

3. Go to "Profiles" page to add a profile and include the App IDs you created in step2.

Also include the entitlement from "Entitlements" dropdown.

4. Import the profile to your XCode project in the "Signing" section in "Build Settings"