Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在套接字过滤内核扩展中使用IOSleep_Objective C_Macos_Sockets_Kernel Extension - Fatal编程技术网

Objective c 在套接字过滤内核扩展中使用IOSleep

Objective c 在套接字过滤内核扩展中使用IOSleep,objective-c,macos,sockets,kernel-extension,Objective C,Macos,Sockets,Kernel Extension,我正在开发一个内核扩展,它处理构建在系统上的每个套接字,并在用户空间中等待用户确认是否允许该套接字。 我使用IOSleep来应用上面提到的等待,但是在加载内核扩展时会出现这个错误 “此kext无法解析以下符号: _iSleep“ 首先,我想知道我使用IOSleep进行等待是否正确? 如果不是,我应该如何应用期望的等待来覆盖我需要获得用户确认的允许或拒绝特定套接字连接的时间间隔 提前感谢您的回复。IOSleep在内核扩展中非常好。您看到的错误是因为库在加载时而不是编译时链接到KEXT 当您向代码中

我正在开发一个内核扩展,它处理构建在系统上的每个套接字,并在用户空间中等待用户确认是否允许该套接字。 我使用IOSleep来应用上面提到的等待,但是在加载内核扩展时会出现这个错误

“此kext无法解析以下符号: _iSleep“

首先,我想知道我使用IOSleep进行等待是否正确? 如果不是,我应该如何应用期望的等待来覆盖我需要获得用户确认的允许或拒绝特定套接字连接的时间间隔


提前感谢您的回复。

IOSleep
在内核扩展中非常好。您看到的错误是因为库在加载时而不是编译时链接到KEXT

当您向代码中添加需要针对新库进行链接的函数时,必须在编译的二进制文件上调用
kextlibs
,以找出需要添加到plist文件中的内容。这在的中有解释,但在第一次之后很容易忘记这样做

基本步骤是:

  • 建立你的知识库
  • 在终端中运行命令
    kextlibs-xml MyKext.kext
  • 将kext的
    Info.plist文件的
    OSBundleLibraries…
    部分替换为上面的打印输出
  • 重建你的kext
  • 当您使用
    kextload
    加载它时,它现在应该可以正确链接