使用Java的Mac OS推送通知

使用Java的Mac OS推送通知,java,objective-c,macos,Java,Objective C,Macos,我希望在我的JavaFX项目中使用Mac OS风格的推送通知,这实际上非常困难 我采用了公认答案中所述的方法: 我克隆了链接。从Xcode项目中,我导出了.dylib文件并将其移动到/usr/local/lib。 我接管了我的项目的java接口 interface NsUserNotificationsBridge extends Library { NsUserNotificationsBridge instance = (NsUserNotificationsBridge)

我希望在我的JavaFX项目中使用Mac OS风格的推送通知,这实际上非常困难

我采用了公认答案中所述的方法:

我克隆了链接。从Xcode项目中,我导出了.dylib文件并将其移动到/usr/local/lib。 我接管了我的项目的java接口

interface NsUserNotificationsBridge extends Library {
    NsUserNotificationsBridge instance = (NsUserNotificationsBridge)
            Native.loadLibrary("/usr/local/lib/NsUserNotificationsBridge.dylib", NsUserNotificationsBridge.class);

    public int sendNotification(String title, String subtitle, String text, int timeoffset);
}
使用InservNotificationsBridge.instance.sendNotification(params…)中的
我现在可以发送推送通知了

这甚至可以在直接从IDE(IntelliJ)运行时使用。与作者的说明相矛盾的是

如果java应用程序不在应用程序包中,则通知 将不会交付

这已经让我感到惊讶了。我构建了一个JAR工件。运行jar:一切正常,推送通知正在显示。将其捆绑到应用程序中:一切正常,但没有推送通知!也没有错误。因此,与作者所写的恰恰相反的事情发生了

(见附件)

我做错了什么?为什么它在启动为.app时不显示?同时,是否有更好的方法使用java实现MacOS推送通知?我已经知道执行applescript的方法,但我不喜欢它的行为


顺便说一句,我使用的是Java 9。

有没有想到这一点?