MacDeveloper

macOS如何使用代码重启自身

2020-01-14  本文已影响0人  _我和你一样

如何重启自身?
搜过网上的一些方案,都是通过identifier来重启应用的。

launchApplication(withBundleIdentifier bundleIdentifier ...
这的确可以重启应用,但对于一个开发者,可能会有很多相同identifier的测试包,这个方法找到第一个相同identifier的应用就会启动那个应用,而这有可能并不是同一个版本的应用。
我的需求严格来说是自启动,自己启动自己。不是相同identifier的其他应用。
那么该如何处理呢?

自己重启自己,分两步:

  1. 根据自己的包路径新建一个实例
  2. 退出自己

所以可以使用下面的方法:

   try? NSWorkspace.shared.launchApplication(at: Bundle.main.bundleURL, options: [.async,.newInstance], configuration: [:])
    NSApp.terminate(nil)
上一篇 下一篇

猜你喜欢

热点阅读