许可证 | BSD |
发布最新发布 | 2015年12月 |
由Jean-Baptiste Quesney,Jean Felix TRAN,Tomasz Ziolkowski,Francois Kruta维护。
ubudu Mesh SDK for iOS允许设备连接到网状网络,以便创建双向通信。
以下详细说明了将网状功能添加到您的iOS应用中的步骤。
为了进一步帮助您,我们提供了一个示例,其中包含一些实现代码。
对于iBeacon相关功能
iOS 7.0或更高版本(推荐使用IOS 7.1.2或iOS 8.0+)。
iPhone 4S / iPad第三代 / iPad mini / iPod touch第五代,或任何更晚的设备。
首先,您需要准备您的uBeacon Mesh设备,并从ubudu Manager设置网状网络属性。如果按照ubudu知识库中的逐步说明,则您应该已经完成了此步骤。直接进入下一章。
否则
登录后,转到“设备”标签,然后“编辑”您要配置的信标。之后,您将到达页面底部的“网状网络设置”。现在,您可以设置以下内容:
在iOS原生应用上设置ubudu Mesh SDK只需要几分钟时间,您可以使用CocoaPods(推荐)或手动操作。
如果您不想使用CocoaPods,您可以手动安装SDK
将UbuduMeshSDK.framework文件夹拖放到XCode项目中“框架”文件夹中。如果需要,请检查“将项目复制到目标组文件夹”选项。
将以下框架和库列表添加到您的项目中,如果尚未显示。
在项目设置中,按照以下步骤操作:"General"
> "您的目标"
> "Build Settings"
> "(All)"
> "Other Linker Flags"
。然后,添加标志 -ObjC
。
在头文件中导入SDK。
#import <UbuduMeshSDK/UbuduMeshSDK.h>
要在您的应用中使用Mesh,您需要启动服务:UBeaconMeshManager * meshManager
可以通过调用 [self.meshManager startScanning]
来实现。
startScanning
方法启动对已启用Mesh信标的搜索。
要停止搜索Mesh信标,请调用stopScanning
方法。
UBUMeshBeaconManagerDelegate
提供了回调方法,您可以实现并接收来自ubudu管理器的事件。
实现以下方法以接收与您的应用相关的事件
- (void)meshManager:(UBUMeshBeaconManager *)meshManager didUpdateVisibleAndConnectableNodes:(NSArray *)meshNodes;
meshManager
回调方法
meshNodes
:对象数组,这些对象是UBUMeshBeacon
类要通过Mesh网络发送信息,请使用以下方法
- (void)sendMeshMessage:(NSString *)meshMessage
networkId:(NSUUID *)networkId
toDevice:(uint16_t)address
withConfirmation:(BOOL)confirmation
disconnectImmediatly:(BOOL)disconnect
successBlock:(UBeaconMeshManagerSuccessBlock)successBlock
progressBlock:(UBeaconMeshManagerProgressBlock)progressBlock
failedBlock:(UBeaconMeshManagerFailedBlock)failedBlock;
sendMeshMessage
方法参数
meshMessage是包含要发送的Mesh信息的字符串。它的长度不应超过16字节。
networkId是包含Mesh网络UUID的字符串。meshId
应包含在网络中。
address可以是目标Mesh信标的地址(十进制格式)。其值应在1-32767之间。
sendMeshMessage
方法回调
successBlock
指示信息是否已发送progressBlock
指示失败后的重试次数(10次)failedBlock
指示发送信息失败。失败可以是由超时/附近节点不可连接/缺少mesh服务引起的。如果iOS设备连接到mesh信标,它将通过代理方法- (void)meshManager:(UBUMeshBeaconManager *)meshManager didReceiveMeshData:(NSData *)meshData from:(NSData *)sourceAddress;
通知有关传入的信息。