完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 在上一篇《Android BLE开发常见问题及解决方法》文章中我相信帮助了很多的小伙伴, 那么在这篇《iOS BLE开发常见问题及解决方法》文章希望还能帮助到你! 1、安装导入问题及解决方法 1.1 安装了 pods 的 xcode 导入蓝牙库运行报错 按照下面的步骤查看,TARGETS->Build Phases->CompileSources,看是否导入了DeviceInfo.m 文件,如果导入了DeviceInfo.m 文件,删除后再运行即可。 2、扫描设备问题 2.1 如何获取设备的 MAC 地址? 如今的 iOS 系统已经没有允许开发者获取设备 MAC 地址的权限了,如果在开发过程中,需要用到设备的 MAC 地址信息,可以通过底层修改广播数据,将设备的 MAC 地址存放在广播数据中的厂商数据里面,这样,我们在扫描的时候,就可以通过解析广播数据来获取设备的 MAC 地址信息; 2.2 扫描不到设备? 检查是否在 viewDidLoad 方法里面马上调用了扫描方法,如果是,修改成在 viewWillApper 方法里面延时1s 左右后开始扫描。 3、数据收发的问题 3.1 无法修改模块名称的问题 情况1:修改名称不成功 检查使用的是哪个版本的 API 文件,V2.9以前的版本(包括 V2.9)存在无法修改名称的问题,这个问题已经在V3.0(包括 V3.0)后的版本中得到修复; 情况2:无法将名称修改为中文 在V3.0中,模块的名称是无法改为中文的,因为在这个版本中,字符编码是 ASCII 码,而中文不存在 ASCII 码,所以在修改的时候会失败,这个 bug 在3.1及后续的版本中会得到修复,那V3.0版本就要手动将字符编码转换为UTF-8编码,这样就能解决要修改的名称即包含中文也包含英文的情况。 注意:修改模块名称之后,需要重启 iPhone 的蓝牙并连接设备,然后断开,再重新扫描,设备的名称就刷新过来了。 3.2 数据发送不成功的问题 首先确认模块收发数据是否是加密的模式,确认完毕后,根据模块收发数据的类型设置isEncryption属性的值,默认该属性为 YES,当属性值为 YES 时, API 会以加密的方式发送数据,为 NO 时,会以不加密的方式发送数据。 3.3 APP端收不到模块发送的数据 情况1:确认加密方式 确认模块发送数据的方式是加密还是非加密,然后根据问题2中的方式设置 isEncryption 属性; 情况2:确认对应通道的 notify 是否打开 可以在-(void)bleManagerPeripheral:(CBPeripheral*)peripheraldidUpdateNotificationStateForCharacteristic:(CBCharacteristic *)characteristicerror:(NSError *)error这个回调方法里面确定通道 notify 是否打开(注:该回调方法在 V3.0 及以上版本中才能使用)。 3.4 APP接收的数据参差不齐 开发中可能模块会持续向APP发送多笔数据,而每发送两笔数据,之间的间隔又比较短(一般小于等于30ms),且每笔数据不满20字节(模块数据加密的话不满17字节),这时候APP接收的数据可能是被拆分并重新组装后的数据,比如非加密模块,每次发送17字节,快速发送5次,APP第一次可能会收到20字节, 而多出来的3字节是模块端第二次发送的前3字节, 后面的数据也可能被类似这样拆分,APP接收数据的次数便小于5,而APP接收的数据整体顺序是没问题的,这种情况要避免数据被拆分,要么模块增大发送间隔,要么模块每次发送的数据补足20字(数据加密的话补足17字节)。 3.5 如何在不使用我司蓝牙库对数据加解密 如果客户在开发过程中,直接使用的是系统的 加密使用方法:+ (NSData*)decryption:(NSData *)data. 解密使用方法:+ (NSData*)encryption:(NSString *)string. ` |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
3056 浏览 3 评论
1531 浏览 3 评论
4669 浏览 1 评论
2017 浏览 1 评论
3272 浏览 2 评论
516浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 11:08 , Processed in 1.362275 second(s), Total 60, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号