我需要从Java代码访问Mac OSX上的Wifi设备列表。经过研究,我发现我需要使用“本地”代码 - 即CoreWLAN框架和CWInterface.h类(https://developer.apple.com/library/mac/#documentation/CoreWLAN/Reference/CWInterface_reference/translated_content/CWInterface.html)。
起初,我认为我可以使用JNA调用此代码,但意识到我需要其他东西,因为CoreWLAN是Objective-C(而不是C / C ++)。
我尝试了这个Objective-C Java桥接器(https://github.com/shannah/Java-Objective-C-Bridge),但我无法弄清楚如何使其找到CoreWLAN框架。
所以我也尝试使用JNAerator(https://code.google.com/p/jnaerator/wiki/ObjectiveC),这样我就可以使用BridJ(https://code.google.com/p/bridj/),但我无法生成正确的Java代码。
- 只使用此样式
java -Xmx1000m -jar jnaerator.jar -framework CoreWLAN -jar CoreWlan.jar
运行快速,但结果只包含CoreWlan.h的映射。 - 如果我对CWInterface.h运行jnaerator,则jnaerator会失败。 (我正在使用jnaerator的最新快照版本)
从Java调用CWInterface.h的最佳方法是什么?