当前位置: 首页 > 软件库 > iOS代码库 > 其他(Others) >

MMWormhole

iOS 通讯框架
授权协议 MIT
开发语言 Objective-C
所属分类 iOS代码库、 其他(Others)
软件类型 开源软件
地区 不详
投 递 者 马渊
操作系统 iOS
开源组织
适用人群 未知
 软件概览

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

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

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

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

Example App

示例:

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

[self.wormhole  listenForMessageWithIdentifier:@"button" 
  listener:^(id messageObject) {
    self.numberLabel.text = [messageObject[@"buttonNumber"] stringValue];
}];
 相关资料
  • $config = [ 'corp_id' => 'xxxxxxxxxxxxxxxxx', 'secret' => 'xxxxxxxxxx', // 通讯录的 secret //... ]; $contacts = Factory::work($config); 成员管理 创建成员 $data = [ "userid" => "overtrue",

  • SPI通讯 OMAP芯片会使用一个串行外围接口,实现一个适合的协议,与V850芯片通讯。这个通讯包括了刷新V850芯片,执行DTC操作和发送CAN信息。实际上,这个通讯是在一个高级别上,通过各种服务实现的。在低级别上,可以通过读取和写入‘/dev/spi3’来实现直接通讯。 不过,似乎没有命令能让OMAP芯片来要求V850将数据字节发送给任意CAN ID。但是,V850内置了一系列的命令ID,多数

  • 主要内容:GWT RPC通讯 介绍,GWT RPC通讯 组件,GWT RPC通讯 示例GWT RPC通讯 介绍 基于 GWT 的应用程序通常由客户端模块和服务器端模块组成。客户端代码在浏览器中运行,服务器端代码在 Web 服务器中运行。客户端代码必须通过网络发出 HTTP 请求才能访问服务器端数据。 RPC,远程过程调用是 GWT 使用的机制,客户端代码可以在其中直接执行服务器端方法。 GWT RPC 是基于 servlet 的。 GWT RPC 是异步的,客户端在通信过程中永远不

  • contacts对象提供对设备通讯录数据库的访问。 方法: contacts.create contacts.find 参数: contactFields contactSuccess contactError contactFindOptions 对象: Contact ContactName ContactField ContactAddress ContactOrganization Con

  • 问题内容: 我已经阅读了本网站上的许多文章,了解如何在Android中接收UDP数据包。但是,这些都不对我有用! 一些基本知识: 我正在3G(不是wifi或其他任何设备)上运行的HTC Incredible(Android 2.2)上进行测试。这里没有仿真器。 我的代码很简单: 我的服务器(在我的PC上运行)正在侦听端口8752上的UDP通信。 我的Android应用程序在一个随机端口上打开一个D

  • 该示例为小程序间的页面通讯,利用 vuex 实现。 在 mpvue框架中使用 vuex 与在 vue 中使用是一样的体验。 1.建立相关的目录结构 2.在 src/main.js 中将 store 挂载到 vue 原型下面 Vue.prototype.$store = store; 3.在页面中通过 mapGetters 和 mapMutations 使用 state methods: {

  • EOSIO智能合约由一组 action 和 type 的定义(definitions)组成.action的定义指定并实现了合约中的行为.type的定义指定了所需的内容及结构.EOSIO的actions主要在基于消息的通讯结构中执行.客户端可以通过发送(推送)信息到nodeos来执行actions.这可以通过使用cleos命令来完成.也可以通过EOSIO的send方法之一来完成(例如:eosio::

  • 为什么使用SpringBoot框架(SpringBoot的优点) 事务失效的场景有哪些 Spring事务是如何实现的 IOC基于什么设计模式 Spring注入的方式有哪些 @Autowrited 和@Resource 注解区别 说说重载重写的定义与区别 操作系统死锁的四个条件 Java是什么传递方式?值传递还有引用传递 如何优化sql 索引失效有哪些 创建线程的方以及区别 UDP和TCP协议的区别