Nordic iBeacon设备在ios8上无法正常工作的问题
来源:互联网 发布:淘宝网排行榜从哪里进 编辑:程序博客网 时间:2024/05/16 10:29
这些天在研究iBeacon,搞了几个讯联的板子,芯片用的Nordic nRF51822,发现Android上可以正常扫描到的设备,在ios8上却无法正常工作。一开始怀疑是ios8的程序问题,找了两个手机装了AirLocate,一个模拟iBeacon发射器,一个用来检测,发现一切正常。所以不得不怀疑ios系统有什么猫腻。google了一番,确认了我的猜测是正确的:
https://devzone.nordicsemi.com/question/16974/nrf51822-and-ios8/
http://stackoverflow.com/questions/25567716/ibeacon-on-ios8-not-working-properly
问题的根源就是这个company identifier(和UUID无关,ios没有限制UUID的使用),使用android的nRF Master Control Panel查看到Company字段是0x0059,而苹果手机模拟的ibeacon是0x004C。于是问题就来了:咋改啊???????
看了一下Nordic提供的ibeacon源码,发现这个字段是写代码死的,所以答案只有一个:改源码、编译、烧写
解决方案不难,就是有点烦,为了日后万一要用,这里简单记录一下编译和烧写的步骤:
固件编译
1.安装keil 5.2.1 (https://www.keil.com/demo/eval/arm.htm)
2.安装keil compatible device pack 5.2.1 (http://www2.keil.com/mdk5/legacy/)
3.用keil打开代码工程
4.注意修改main.c中的COMPANY_IDENTIFIER,默认为0x0059,苹果为0x004C
5.执行Build,在arm/_build/下生成最终的hex文件
固件烧录
1.安装nrfgo studio 1.15.1 (http://pan.baidu.com/share/link?uk=2738462295&shareid=2627193480&fid=244915420888634)
2.插入烧录器,使用连接线连接beacon设备,注意取下beacon设备的电池:
注意插线方向,观察到beacon设备的led正常亮就算连接ok了。
3.按紧beacon设备上的连接线,打开nRFgo Studio,刷新设备直到连接成功:
4.连接成功后,选择hex镜像文件进行烧写
终于搞定了~ 看来苹果这是下定主意自己玩ibeacon的节奏啊。据小道消息说分众已经在偷偷地部署beacon设备了,弱弱地问,这些设备的company identifier改了没,要是没改的话就都白折腾了。。。。
- Nordic iBeacon设备在ios8上无法正常工作的问题
- 解决设备应用程序无法申请到内存,导致设备无法正常工作的问题---优化设备虚拟内存使用
- iOS8 下企业版App无法正常升级的问题
- JmDNS无法在Android4.x上正常工作解决方法
- SIM900A设备在保加利亚无法正常使用GPRS问题
- NI MAX 在Windows 2008R2中无法正常工作的问题
- 企业版app在iOS8上无法安装的几个问题解决
- 企业版app在iOS8上无法安装的几个问题解决
- 解决IOS8上无法创建同名删除相册的问题
- Unity3d的Input.location在ios8以上版本不能正常工作的解决方案
- 本机运行正常的ADO程序在别的机器上无法运行的问题
- 本机运行正常的ADO程序在别的机器上无法运行的问题
- 本机运行正常的ADO程序在别的机器上无法运行的问题
- 解决VC9.0的程序无法在vista上正常运行的问题
- 本机运行正常的ADO程序在别的机器上无法运行的问题
- 关于putty 和secureCRT登录,无法正常工作的问题
- iOS企业发布问题记录二(企业版app在iOS8上无法安装的几个问题解决)
- U盘在MAC系统下格式化后在windows上显示设备,无法正常使用
- git使用
- PAT1038. Recover the Smallest Number (30)
- My Threat Intelligence and Threat Assessment Research Papers Publish
- poj2082 Terrible Sets 单调栈
- UVA - 270 Lining Up 数据优化
- Nordic iBeacon设备在ios8上无法正常工作的问题
- MYSQL的一知半解
- 【Java】解决Acces restriction: The type X is not accessible due to restriction on required library 的解决方法
- Codeforces 480D Parcels(dp)
- 2014上海全国邀请赛1010(hdu 5099)
- 【索引】Codeforces Round #274
- Visual Assist X 破解版使用步骤
- 终端中的乐趣:6个有趣的Linux命令行工具
- JQuery学习一