如果我有一个充当接收器的设备并且它连接到iBeacon,如果它连接到另一个iBeacon同时仍然处理与第一个的连接会发生什么(例如,Hadn完成了运行didEnterRegion方法) ?框架是否自动处理此问题并创建另一种实例'或者我可能遇到问题?
由于
答案 0 :(得分:1)
我认为如果他们都传输相同的区域(即他们都具有相同的邻近度UUID),那么CoreLocation
不会继续发送didEnterRegion
和{{1方法。
一旦你开始测量一个区域(那是一个满口的),就会重复调用didExitRegion
方法,这样你就可以获得所连接信标的细节。
答案 1 :(得分:1)
如果CoreLocation
快速连续检测到两个不同的区域输入事件,则两个线程当然可以同时执行您的委托didEnterRegion
。所以,是的,你可能会遇到问题。
出于这个原因,你应该小心:
在该方法中设计代码,以便在同时执行的线程中正常运行。
在该方法中设计代码,以便快速退出。任何长时间运行的处理都应该在新的线程中完成。
虽然问题提及"连接到另一个iBeacon",但重要的是要了解没有实际的连接 - 信标只传输设备,iOS将被动地寻找它们并发送基于委托的回调方法开始看到它们,或者不再看到它们。