iPhone同士や、iPhoneとMacの間でアドホックなP2Pネットワークを作り、通信を可能にするフレームワーク。
Publish Subscribeコマンド
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga5tYL2EcBbaQL0LsXbHmSkipQ5ui_unx12KAQtyDXoKSELBTIUlJF4H_cfuoLV2sZZnuD5XaC2M5qyq_oowm6y0zVQ1IuVZVkiP-5rp0RJ4RRUP2fQJ0tjjqOLJWF2_Nd1_dUPVwYXhXm/s320/130314-0007.jpg)
一斉送信ができるっぽい。
Pulbisher側のコード例
#import "threeMF.h" self.tmf = [TMFConnector new]; // Provide self.kvCmd = [TMFKeyValueCommand new];[self.tmf publishCommand:self.kvCmd]; // Execute TMFKeyValueCommandArguments *kvArguments = [TMFKeyValueCommandArguments new]; kvArguments.key = @"msg"; kvArguments.value = @"Hello World!"; [self.kvCmd sendWithArguments:kvArguments];
Subscribe側のコード例
#import "threeMF.h" self.tmf = [TMFConnector new]; // Discover [self.tmf startDiscoveryWithCapabilities:@[ [TMFKeyValueCommand name] ] delegate:self]; // Subscribe - (void)threeMF:(TMFConnector *)tmf didChangeDiscoveringPeer:(TMFPeer *)peer forChangeType:(TMFPeerChangeType)type { if(type == TMFPeerChangeFound) { [self.tmf subscribe:[TMFKeyValueCommand name] peer:peer receive:^(TMFKeyValueCommandArguments *arguments){ // do awesome things NSLog(@"%@: %@", arguments.key, arguments.value); } completion:^(NSError *error){ if(error) { // handle error NSLog(@"%@", error); } }]; } }
Respons Request コマンド
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPaoWExCI8_GGLzHlTO_1sgTOzndnAKOVpK-jkvhOLYlO9lbv8UjUwiPK0kAtsz29MUhsQL891KL2Zs-c932FZiIyyC-BNxXmxhtgQ6Uegym-gs7cj8UXl7E9_1X8T4Cgz1-XFNmb4xnHe/s320/130314-0006.jpg)
いわゆるRPC的な使い方。
CADAnnounceCommandArguments *args = [CADAnnounceCommandArguments new]; args.name = self.nameLabel.text; args.color = _color; [self.tmf sendCommand:[CADAnnounceCommand class] arguments:args destination:peer response:^(id response, NSError *error){ // handle response or error }];
付属のサンプルプログラムをiPhone5とMacBookProでそれぞれ実行するとMacのスクリーンショットがiPhoneに転送された。
iPhoneの画面
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8TVXLheC0JPG-S4vHaPRx4mTBCm-phQD4M4dQJiIL01MLH7u-Uz_DbtjC7WdsQiYJ5fJ1g3l3sQD6gB9UUnXDfT6GIuqE6d1FsuTl2c9vs_gHqp31raIE6We8J6HmjsFQBxa_50BqqOyB/s320/130314-0003.jpg)
Macの画面
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEA315YHbcY47SD4zjYAgALKvENDIaSxBWkiOjOA6kNO9W_IO9UXvUmNicINtnlKq5SoHN8cnG8-qOWtnThC4xJSJ4ijukYnLslF_k6bqR8DHk7BNDfLo9X5AeshsDtFg4F8OISA0lqKev/s320/130314-0001-32%25.jpg)
- - - -
高機能にもかかわらず使い勝手が良さそう。