在应用和浏览器之间进行通信

时间:2018-03-29 15:27:56

标签: swift macos url-scheme

我有一个场景,我希望我的MacOS应用程序和浏览器进行通信:

当用户按下按钮时,它正在打开浏览器

NSWorkspace.shared.open(URL(string: "myServerUrl")!)

浏览器会执行某些操作然后将结果返回到我的应用程序。

我想到了两种方法:

  1. 找到(不知何故)一个开放的端口,用类似的东西打开浏览器 NSWorkspace.shared.open(URL(string:"myServerUrl/?port=8090")!)

    然后当浏览器获得结果时,它将访问我的 通过约定的端口使用类似

    的应用程序
    http://localhost:8090/?res=3434343
    
  2. 只需使用URL-scheme:

    NSWorkspace.shared.open(URL(string: "myServerUrl/?openapp=myapp")!)

    然后浏览器会使用它将数据发送到我的应用程序。

  3. 所以我的问题是,哪种方式“更好”? 两种方式都有效吗?

    我很快就可能需要iOS的这个功能,所以我更喜欢适用于这两个平台的东西。

0 个答案:

没有答案