my driver entitlements file originally looked like this:
<dict>
<key>com.apple.developer.driverkit</key>
<true/>
<key>com.apple.developer.driverkit.family.hid.device</key>
<true/>
<key>com.apple.developer.driverkit.transport.usb</key>
<array/>
<key>com.apple.developer.driverkit.allow-any-userclient-access</key>
<true/>
</dict>
but I also tried this
<dict>
<key>com.apple.developer.driverkit</key>
<true/>
<key>com.apple.developer.driverkit.transport.usb</key>
<array>
<dict>
<key>idVendor</key>
<integer>*</integer> <!-- I've also tried hex and decimal values here. Wildcard was a last ditch hope -->
</dict>
</array>
</dict>
to no effect. The driver's Info.plist originally looked like this:
<dict>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>IOKitPersonalities</key>
<dict>
<key>MyBatteryDriver</key>
<dict>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleIdentifierKernel</key>
<string>com.apple.kpi.iokit</string>
<key>IOClass</key>
<string>IOUserService</string>
<key>IOMatchCategory</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>IOProviderClass</key>
<string>IOUserResources</string>
<key>IOResourceMatch</key>
<string>IOKit</string>
<key>IOUserClass</key>
<string>MyDriver</string>
<key>IOUserServerName</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>UserClientProperties</key>
<dict>
<key>IOClass</key>
<string>IOUserUserClient</string>
<key>IOUserClass</key>
<string>StatusUserClient</string>
</dict>
<key>idVendor</key>
<integer>0x0000</integer> <!-- showing the format, but not the actual vendor or product ID -->
<key>idProduct</key>
<integer>0x0000</integer>
</dict>
</dict>
<key>OSBundleUsageDescription</key>
<string>Driver description</string>
<key>OSBundleUsageDescriptionKey</key>
<string>This application is trying to install a driver.</string>
</dict>
But I also tried this
<dict>
<key>CFBundleShortVersionString</key>
<string>2.0</string>
<key>CFBundleVersion</key>
<string>2</string>
<key>OSBundleUsageDescriptionKey</key>
<string>This application is trying to install a driver.</string>
<key>OSBundleUsageDescription</key>
<string>Driver description</string>
<key>IOKitPersonalities</key>
<dict>
<key>MyBatteryDriver</key>
<dict>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleIdentifierKernel</key>
<string>com.apple.kpi.iokit</string>
<key>IOClass</key>
<string>IOUserService</string>
<key>IOMatchCategory</key>
<string>IOUserService</string>
<key>IOProviderClass</key>
<string>IOUserResources</string>
<key>IOResourceMatch</key>
<string>IOKit</string>
<key>IOUserClass</key>
<string>MyDriver</string>
<key>IOUserServerName</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>UserClientProperties</key>
<dict>
<key>IOClass</key>
<string>IOUserUserClient</string>
<key>IOUserClass</key>
<string>StatusUserClient</string>
</dict>
<key>idVendor</key>
<integer>2222</integer> <!-- again showing the format, which was the hex value converted to decimal -->
</dict>
</dict>
</dict>
to also no effect.
Topic:
App & System Services
SubTopic:
Drivers
Tags: