是否有可与Snow Leopard兼容的"突然运动传感器"API?

Gav*_*ock 8 macos cocoa accelerometer osx-snow-leopard smslib

我一直在我的应用程序中使用Unimotion来读取Apple笔记本电脑的运动传感器值,但是无法将代码移植到10.6 64位.(我也尝试过SMSLib并且没有运气.)

  • 有没有简单的10.6兼容SMS API?

如果没有其他选择,我也在考虑修补其中一个库.Unimotion和SMSLib都使用以下调用,该调用已在10.5中弃用并从10.6 64位中删除:

result = IOConnectMethodStructureIStructureO(
    dataPort, kernFunc, structureInputSize,
    &structureOutputSize, &inputStructure, 
    outputStructure);
Run Code Online (Sandbox Code Playgroud)
  • 有没有简单的方法来替换新的IOKit调用?

(这篇文章并没有让我更进一步)

Pet*_*sey 6

如果没有其他选择,我也在考虑修补其中一个库.Unimotion和SMSLib都使用以下调用,该调用已在10.5中弃用并从10.6 64位中删除:

result = IOConnectMethodStructureIStructureO(
    dataPort, kernFunc, structureInputSize,
    &structureOutputSize, &inputStructure, 
    outputStructure);
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来替换新的IOKit调用?

该文件建议更换.这个如何?

kern_return_t
IOConnectCallStructMethod(
    mach_port_t  connection,        // In
    uint32_t     selector,      // In
    const void  *inputStruct,       // In
    size_t       inputStructCnt,    // In
    void        *outputStruct,      // Out
    size_t      *outputStructCnt)   // In/Out
Run Code Online (Sandbox Code Playgroud)

据我所知,除了参数的顺序之外应该没有区别.也就是说,我从来没有使用过I/O Kit,所以我可能会错过一些重要的概念差异,这会使这个调用不像旧代那样有效.