我有一个 JWrapper 应用程序,它将自己注册为 URL 处理程序,如docs 中所述。
String vappName = JWApp.getMyVirtualApp().getUserVisibleName();
JWMacOS.registerURLSchemeForVirtualApp("myapp", vappName);
URL 处理程序部分工作得很好,当我单击myapp://foo/bar
链接时,我的应用程序启动得很好。
jwrapper.xml文件中还配置了相同的应用程序来检查自动更新,这就是事情变得有趣的地方。当我从 Dock 启动应用程序时(通过单击图标),应用程序会检查更新并可以按预期成功更新自身。但是,如果应用程序是通过 URL 启动的,则会跳过更新检查。
无论我做什么,如果从 URL 启动,我都无法让应用程序自动更新。我可以通过 URL 连续多次启动它,它永远不会更新,但下次我通过停靠图标启动它时它会更新得很好。
有没有办法让 JWrapper 在从 URL 启动时检查更新?我曾尝试MatchClientVersionToServerVersion
同时设置true
和false
,但似乎没有帮助。也许我错误地注册了 URL 处理程序?
更新:只是想注意我实现了JWrapperUpdateApp安装屏幕以进行调试。它会弹出一个小 JOptionPane 警报,让我知道它正在检查更新。当我从扩展坞启动应用程序时,我看到了预期的警报,但从 URL 启动它时却没有。