Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何从应用程序扩展中使用IPC向iOS上包含的应用程序异步发送信息?_Ios_Swift_Ipc_Ios Extensions_Ios App Group - Fatal编程技术网

我如何从应用程序扩展中使用IPC向iOS上包含的应用程序异步发送信息?

我如何从应用程序扩展中使用IPC向iOS上包含的应用程序异步发送信息?,ios,swift,ipc,ios-extensions,ios-app-group,Ios,Swift,Ipc,Ios Extensions,Ios App Group,我想在我的应用程序扩展中使用进程间通信,在扩展对应用程序组的UserDefaults数据库进行更改时通知其包含的应用程序。目前,当UserDefaults数据库被另一个进程更新时,似乎无法得到通知,因此我假设我必须在扩展和包含应用之间建立IPC,这似乎可以使用多种不同的方法: 组中的应用程序可以使用IPC机制(包括Mach IPC、POSIX信号量和共享内存以及UNIX域套接字)与组中的其他成员通信。在macOS中,使用应用程序组在两个沙盒应用程序之间或沙盒应用程序与非沙盒应用程序之间启用IPC

我想在我的应用程序扩展中使用进程间通信,在扩展对应用程序组的
UserDefaults
数据库进行更改时通知其包含的应用程序。目前,当
UserDefaults
数据库被另一个进程更新时,似乎无法得到通知,因此我假设我必须在扩展和包含应用之间建立IPC,这似乎可以使用多种不同的方法:

组中的应用程序可以使用IPC机制(包括Mach IPC、POSIX信号量和共享内存以及UNIX域套接字)与组中的其他成员通信。在macOS中,使用应用程序组在两个沙盒应用程序之间或沙盒应用程序与非沙盒应用程序之间启用IPC通信

我做了一些研究,似乎这些技术中的大多数是请求驱动的,而不是异步的。是否有一种好方法可以使用这些技术,以便我的扩展在更改应用程序组的
用户默认值时通知我的应用程序

其他信息:

  • 我正在构建的扩展是一个广播上传扩展
  • 不能跨流程工作,因此不能用于此目的
  • Swift中的解决方案是理想的,但Objective-C也不错

    • 我知道这有点晚了,但其他人可能会发现它已被完全使用

      对于进程间通知,iOS/macOS使用
      达尔文通知
      ,但同样的方法也可以用于通知任何事件。i、 e.在
      UserDefaults
      更新时生成通知。我已经试过了,它对共享
      AppGroup
      的应用程序非常有效,不确定它是否适用于没有
      AppGroup
      tho的应用程序

      更新1: 这篇文章对于全面了解AppGroup/SharedContainers和IPC来说是一篇很好的文章