swift - 支持 macOS 应用程序中的 URL 方案
问题描述
关于这个主题有几个(旧)问题,但没有一个解决方案对我有用,所以问题是:如何添加 URL 方案,以便可以通过浏览器打开我的应用程序?
我做了以下事情:
- 在 info.plist 中添加了所需的信息:
- 我添加了这些功能:
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")
}
- 我还尝试添加此功能:
func application(_ application: NSApplication, open urls: [URL]) {
for url in urls {
NSLog("url:\(url)")
}
}
以上都没有奏效。我有一个重定向的网页,MyAppLogin://test
但没有任何反应。应用程序是打开还是关闭都没有关系(我希望它在两种情况下都能正常工作)
知道这里有什么问题吗?
编辑:还有两个细节:
- 该应用程序已沙盒化
- 我通过 Xcode 运行它(所以安装不在“应用程序”文件夹中)
解决方案
推荐阅读
- javascript - 使用 JavaScript click 事件处理程序更改标签
- batch-file - 在 cmd.exe 中绕过 UAC
- android - Android ScrollView verticalScrollbarPosition 属性
- c++ - 在 c++11 中迭代函子元组
- ajax - 使用 symfony 进行 ajax 路由
- wpf - 覆盖 ListBox 中的 SelectedItem 背景
- phpstorm - JetBrains 为多个缩写添加语言范围?
- directions - 通用跨平台语法 URL 参数 方向 旅行类型 中转出发时间
- javascript - 未捕获的错误:必须在传单热图插件之前加载传单
- sql - 将多个“WITH CTE”查询的结果作为一个结果返回