RBSentinel 0.1.5

RBSentinel 0.1.5

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2015年6月

你的名字 维护。



  • 作者:
  • Roshan Balaji

RBSentinel 可帮助填补 Apple Watch 与父应用程序之间的沟通差距。它提供了一个基于 REST 的接口来处理 watchapp 所需的信息。

安装

RBSentinel 可以通过将 RBSentinel.h 和 .m 添加到项目文件夹中手动添加到项目中。首选的安装方法是使用 cocoapods。

pod 'RBSentinel'

用法

RBSentinel 受到 MMWormhole 的启发,提供了一种在特定资源上执行 CRUD 操作的方法。Sentinel 具有在应用程序未打开或处于后台时也能监听特定资源更新的能力。

初始化

self.sentinel = [[Sentinel alloc] initWithGroupIdentifier:@"group.sentinel"];

其中 groupIdentifier 是应用程序的组标识符

要将监听器添加到特定资源

[self.sentinel addListenerForResource:@"message" withCompletionHandler:^(id response) {
        [weakSelf.parentAppMessage setText:response];
}];

每当有更新发布到该特定资源时,都会调用完成处理程序。可以添加多个监听器到同一个资源。这些监听器本质上是在监听特定资源的更新。要向特定资源发布更新

[self.sentinel didUpdateResource:@"message" withContent:self.userInput.text];

上述更新将触发之前添加到该特定主题的监听器。

处理器

除了监听器之外,Sentinel 还允许我们在特定资源类型上执行获取、发布、更新、删除操作。要启用处理器,应用程序委托需要以下行

[Sentinel handleWatchKitExtensionRequest:userInfo reply:reply];

例如,如果资源类型是发布,那么 sentinel 会查找 PostHandler 类,并调用获取、发布、更新、删除方法。典型的请求看起来像

[self.sentinel performRequestofType:GET forResource:@"post" withParameters:@{@"1":@"2"} andCompletionHander:^(id response) {
        NSLog(@"RESPONSE %@", response);
    }];

上述请求通过 PostHander 类调用了发布方法。以下是 Sentinel 如何解析资源到处理器的方式。

发布 => PostHandler 消息 => MessageHandler

@interface PostHandler : NSObject<SentinelHandlerProtocol>

@end

@implementation PostHandler

-(id)get:(id)parameters {

    // gets called for request type get

}

-(id)post:(id)parameters {

     // gets called for request type post

}

-(id)remove:(id)parameters {

     // gets called for request type remove

}

-(id)update:(id)parameters {

     // gets called for request type update

}

许可证

MIT 许可证 (MIT)

版权所有 (c) 2014 RoshanNindrai

特此授予任何获得此软件及其相关文档副本(“软件”)的个人免费权利,在不限制使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许任何有权获取软件的个人这样做,但须遵守以下条件

上述版权声明和此许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或默示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的、与软件或其使用或其他方式有关的情况下。