MMWormholeiOS 通讯框架

联合创作 · 2023-09-27 16:57

MMWormhole 是 iOS 扩展与宿主应用的通讯框架。在iOS或OS X扩展与其包含的应用程序之间建立了桥梁。用于在两个位置之间来回传递数据或命令。邮件被存档到写入应用程序共享应用程序组的文件中。该效果与应用程序和扩展之间的进程间通信非常相似,尽管扩展和包含应用程序之间不存在真正的进程间通信。

还支持CFNotificationCenter达尔文通知,以支持实时更改通知。当消息传递到 wormhole 时,感兴趣的各方可以在 wormhole 的任何一侧侦听并收到这些更改的通知。当通过 wormhole 发送消息时,其效果几乎是双方的即时更新。

MMWormhole旨在简化在扩展及其包含的应用程序之间共享非常基本的信息和命令的过程。无论包含应用程序正在运行与否,其都应保持稳定,但只有在应用程序在后台唤醒时,通知才会在包含应用程序中触发。这使得MMWormhole非常适合包含应用程序已经通过某种形式的后台模式运行的情况。

MMWormhole使用NSKeyedArchiver作为序列化介质,因此任何与NSCoding兼容的对象都可以作为消息。对于许多应用程序而言,共享简单的字符串,数字或JSON对象足以驱动Widget或Apple Watch应用程序的UI。可以轻松地将消息作为存档文件发送和保存,并在以后唤醒应用或扩展程序时阅读。

示例:

[self.wormhole passMessageObject:@{@"buttonNumber" : @(1)} identifier:@"button"];

[self.wormhole  listenForMessageWithIdentifier:@"button" 
  listener:^(id messageObject) {
    self.numberLabel.text = [messageObject[@"buttonNumber"] stringValue];
}];
浏览 13
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报