uBudu 网状网络接收消息

uBudu Mesh Networking receiving messages

有人知道如何通过 uBudu Mesh 网络接收消息吗?

我正在开发一个使用 uBudu 信标的应用程序,总体思路是允许用户通过这些信标相互发送消息。我已经成功连接 iOS-Mesh-SDK,如下所述:https://github.com/Ubudu/IOS-Mesh-SDK.

有一个如何将网格消息发送到另一个信标的示例,它工作得很好,但是至于将这些消息从信标检索到用户应用程序,我不知道。

MeshBeacon中有方法class:

- (void)abortMeshMessage;
- (void)clearMeshMessageQueue;

- (void)setMeshNotification:(BOOL)enable withCompletionBlock:(UMeshBeaconSuccessBlock)completionBlock;

但与检索消息无关。

非常感谢任何建议!

正如您正确指出的那样,SDK 还没有接收消息的方法,但是有一个支持此功能的库更新。

我发现这个问题可能很粗鲁,但可行。

首先我们需要将自己设置为BeaconManager的委托

UBUMeshBeaconManager.sharedInstance().delegate = self

在委托方法的实现中,连接到最近的信标并将其外围委托重置为自身。

func meshManager(meshManager: UBUMeshBeaconManager!, didUpdateVisibleAndConnectableNodes meshNodes: [AnyObject]!) {
    UBUMeshBeaconManager.sharedInstance().connectToClosestBeacon({ (meshManager, meshBeacon, userInfo) -> Void in
            meshBeacon.peripheral.delegate = self
        }, progressBlock: { (meshManager, userInfo) -> Void in

        }, failedBlock: { (meshManager, meshBeacon, userInfo, error) -> Void in

        })
}

并等待 Peripheral Delegate 方法中的特征更新。 UbuduSDK 将在后台设置所有服务和特性。

func peripheral(peripheral: CBPeripheral!,
                didUpdateValueForCharacteristic characteristic: CBCharacteristic!,
                error: NSError!) {
    var string = NSString(data: characteristic.value, encoding: NSASCIIStringEncoding)
    println(string)
}