这就是breakDown
所有Swift语言配置1:带有任何版本iOS 8.1+的Xcode 6.3
配置2: Xcode6.2与任何版本的iOS 8.2或更低版本,因为Xcode 6.3需要构建到iOS 8.3设备。
IPhone5/ Ipod第五代在两个测试中。
在我们的应用程序的配置#1中,我们监控一个主区域(没有主/次的UUID)。在enter事件被引发后,我们还开始监视具有相同UUID但分配了主/次区域的子区域。进入具有多个较小区域的主区域后,当仅删除其中一个区域时,将调用CLLocationManager的函数didExitRegion,但它是使用主区域而不是子区域调用的。当我们退出所有子区域(从而退出主区域)时,我们得到两个回调,这两个回调都是针对主区域的。
我们期望的预期行为是,当您退出一个子区域,而不是主区域时,您将得到对子区域的回调。当退出最后一个子区域时,你会得到两个回调,一个来自子区域,另一个来自主区域。
这就是苹果文档中所描述的行为,以及它在Xcode 6.3版本之前的配置#2中是如何工作的(在Xcode升级之前,它基本上是如何工作的。
我真正的问题是:其他人有这个问题吗?有没有人知道有什么可行的方法可以让didExitRegion调用返回正确的CLRegion。我还使用了我们的一家公司的dev help support,希望苹果自己能回答,因为这似乎是xcode处理操作系统调用的一部分。所以如果我收到他们的回复,我会把它贴在下面。
为我的新手提前道歉,这只是我的第二个或第三个问题,仍然掌握了它的诀窍。
编辑:没关系,我是个大笨蛋,我不小心复制粘贴了一些我正在修复的不同问题的代码,从而覆盖了变量……
发布于 2015-04-15 06:32:28
这只是一个思想…
您必须为要监视的每个区域调用一次此方法。如果具有相同标识符的现有区域已经被应用程序监控,则旧区域将被新区域替换。
尝试先注册较小的区域。另外,在运行时查看monitoredRegions,看看它是否包含您所期望的内容。
发布于 2015-04-21 01:59:00
没有正确设置didEnterRegion and didExitRegion的条件,这不是xcode的问题
https://stackoverflow.com/questions/29638135
复制相似问题