uBudu网状网络接收消息

问题描述 投票:0回答:2

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

我正在开发一个使用uBudu信标的应用程序,一般的想法是允许用户通过这些信标相互发送消息。我已经成功地连接了iOS-Mesh-SDK,如这里所述。https:/github.comUbuduIOS-Mesh-SDK。.

有一个例子可以说明如何将mesh消息发送到另一个beacon,而且工作得很完美,但至于如何将这些消息从beacon检索到用户应用,我不知道。

MeshBeacon类中有一些方法。

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

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

但没有任何关于信息检索的方法

任何建议都非常感谢!

ios objective-c ibeacon mesh-network
2个回答
0
投票

正如你正确指出的,SDK还没有接收消息的方法,但有一个更新的库来支持这个功能。


0
投票

我找到了一个可能是粗暴的,但能解决这个问题的方法。

首先,我们需要将自己设置为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)
}
© www.soinside.com 2019 - 2024. All rights reserved.