首页 > 解决方案 > 支持 macOS 应用程序中的 URL 方案

问题描述

关于这个主题有几个(旧)问题,但没有一个解决方案对我有用,所以问题是:如何添加 URL 方案,以便可以通过浏览器打开我的应用程序?

我做了以下事情:

  1. 在 info.plist 中添加了所需的信息:

在此处输入图像描述

  1. 我添加了这些功能:
func applicationWillFinishLaunching(_ notification: Notification) {
     NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(handleEvent(_:with:)), forEventClass: AEEventClass(kInternetEventClass), andEventID: AEEventID(kAEGetURL))
}

@objc func handleEvent(_ event: NSAppleEventDescriptor, with replyEvent: NSAppleEventDescriptor) {
     NSLog("at handleEvent")
}
  1. 我还尝试添加此功能:
func application(_ application: NSApplication, open urls: [URL]) {
    for url in urls {
        NSLog("url:\(url)")
    }
}

以上都没有奏效。我有一个重定向的网页,MyAppLogin://test但没有任何反应。应用程序是打开还是关闭都没有关系(我希望它在两种情况下都能正常工作)

知道这里有什么问题吗?

编辑:还有两个细节:

  1. 该应用程序已沙盒化
  2. 我通过 Xcode 运行它(所以安装不在“应用程序”文件夹中)

标签: swiftmacosurl-scheme

解决方案


推荐阅读