- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
IOCreatePlugInInterfaceForService 因 kIOReturnNoResources/0xe00002be 失败
我正在将旧的基于 FireWire 的命令行实用程序重写为 XPCService。我需要一些有关 IOKit 函数的帮助。
IOCreatePlugInInterfaceForService()
时,它总是无法在 IOReturn.h 中返回 0xe00002be = kIOReturnNoResources
。CFDictionaryRef dict = CFDictionaryCreateCopy(kCFAllocatorDefault, self.dict);
kern_return_t result = IOServiceGetMatchingServices(kIOMasterPortDefault, dict, &serviceIterator);
if (result == KERN_SUCCESS && serviceIterator != IO_OBJECT_NULL) {
while ((service = IOIteratorNext(serviceIterator)) != IO_OBJECT_NULL) {
SInt32 score = 0;
kern_return_t result = IOCreatePlugInInterfaceForService(service,
kIOFireWireAVCLibUnitTypeID,
kIOCFPlugInInterfaceID,
&interface,
&score);
if (result != KERN_SUCCESS) continue;
// result 0xe00002be = kIOReturnNoResources in IOReturn.h
break;
}
}
<小时/>
其他详细信息
我在 opensource.apple.com 中找到了 IOCFPlugIn.c。经过基本核实后,- IOCreatePlugInInterfaceForService()
未能IOCFPlugIn->Start()
。
(*iunknown)->QueryInterface(iunknown, CFUUIDGetUUIDBytes(interfaceType),
(LPVOID *)&interface);
<snip>
kr = (*interface)->Probe(interface, plist, service, &score);
<snip>
haveOne = (kIOReturnSuccess == (*interface)->Start(interface, plist, service));
这是否与 macOS 上的某些安全功能有关?
<小时/>已修改
最佳答案
我已经找到解决办法了。
- 在Info.plist中添加NSCameraUsageDescription,IOFireWireAVCUserClient就可以工作。
- 如果是沙盒,还需要 com.apple.security.device.firewire。
即使功能沙箱关闭,tccd 也会验证 info.plist。
如果“隐私 - 摄像头使用说明”不可用,sandboxd 会拒绝使用 IOFireWireAVCUserClient 设备。
Information Property List Key Reference/Cocoa Keys
关于macos - IOCreatePlugInInterfaceForService 失败,w/kIOReturnNoResources/0xe00002be,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57667962/
我正在尝试在新的 Swift 4.0 Mac 应用程序(非 iOS)中使用一些旧的 IOKit 功能。我创建了一个桥接 header 以使用现有的 Objective C 第三方框架 DDHidLib
IOCreatePlugInInterfaceForService 因 kIOReturnNoResources/0xe00002be 失败 我正在将旧的基于 FireWire 的命令行实用程序重写为
我是一名优秀的程序员,十分优秀!