目前有没有办法在macOS菜单栏中创建在后台运行的React Native应用程序?
答案 0 :(得分:1)
截至目前,最好的方法是使用Electron平台。
答案 1 :(得分:1)
这个问题不是最近的,但是我发现它是在寻找这个主题的,并且有一个相关的最新更新:在Microsoft的新台式机努力下,这仍然可行,尽管仍然很棘手。
为出色的工作向ospfranco致谢。
唯一的方法是编辑AppDelegate
类,并使用React Native应用程序中的Root View内容初始化状态按钮标签及其弹出内容。还可以自定义其大小,外观和工具栏上的按钮,但只能在Swift代码中进行。
func applicationDidFinishLaunching(_ aNotification: Notification) {
let jsCodeLocation: URL
jsCodeLocation = RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index", fallbackResource:nil)
let rootView = RCTRootView(bundleURL: jsCodeLocation, moduleName: "tempomat", initialProperties: nil, launchOptions: nil)
let rootViewController = NSViewController()
rootViewController.view = rootView
popover = NSPopover()
popover.contentSize = NSSize(width: 700, height: 800)
popover.animates = true
popover.behavior = .transient
popover.contentViewController = rootViewController
statusBarItem = NSStatusBar.system.statusItem(withLength: CGFloat(60))
if let button = self.statusBarItem.button {
button.action = #selector(togglePopover(_:))
button.title = "Tempomat"
}
}
参考: