Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 即使应用程序未运行,如何使地理围栏正常工作?_Ios_Objective C_Geofencing_Application State_Region Monitoring - Fatal编程技术网

Ios 即使应用程序未运行,如何使地理围栏正常工作?

Ios 即使应用程序未运行,如何使地理围栏正常工作?,ios,objective-c,geofencing,application-state,region-monitoring,Ios,Objective C,Geofencing,Application State,Region Monitoring,我正在创建一个位置感知应用程序。我已经能够创建地理围栏了, 当我在iPhone上测试它时,我注意到当应用程序在前台和后台运行时,调用callback方法-didEnterRegion和-didExitRegion。但是,当我终止应用程序(意味着应用程序状态为“未运行”)时,不会调用上述方法回调 那么,我错过了什么?是否需要进行任何配置?有什么想法吗?谢谢大家! 这是正确的行为,具体取决于您“杀死”应用程序的方式。如果您通过从多任务视图(双击主页)向上滑动来停止应用程序,那么iOS 7将此解释为您

我正在创建一个位置感知应用程序。我已经能够创建地理围栏了, 当我在iPhone上测试它时,我注意到当应用程序在前台和后台运行时,调用callback方法
-didEnterRegion
-didExitRegion
。但是,当我终止应用程序(意味着应用程序状态为“未运行”)时,不会调用上述方法回调


那么,我错过了什么?是否需要进行任何配置?有什么想法吗?谢谢大家!

这是正确的行为,具体取决于您“杀死”应用程序的方式。如果您通过从多任务视图(双击主页)向上滑动来停止应用程序,那么iOS 7将此解释为您根本不希望应用程序在前台或后台运行。如果当设备需要更多内存时,应用程序由于处于后台而被“杀死”,则它将继续在后台模式下运行

请参阅本答案-


为了进行测试,您可以使用Xcode停止应用程序,在应用程序挂起时模拟内存不足的情况,或者调用exit()进行测试。

您的意思是,当应用程序终止时,我无法收到任何通知?但我的客户要求它在用户检测到其位置进入某个区域时通过本地通知。。。你能帮忙吗?感谢根据苹果开发者论坛上的这个帖子,iOS 7中的行为有所改变。如果你的应用只是挂起,而不是终止,你应该收到后台通知。你是否启用了重要的位置更改通知?另外,我还不清楚你是如何终止应用程序的?是从应用程序切换器向上滑动吗?是的,我是从应用程序切换器向上滑动。这有点奇怪,因为Foursquare能够做到这一点。即使我的应用程序没有运行,我也会收到通知……但是你是否真的通过刷卡“杀死”了Foursquare,或者你只是没有启动它——有一点不同我想问的是,即使应用程序没有运行,应用程序是否能够通知用户。因为Foursquare在iOS7中可以做到这一点。谢谢……我不知道Foursquare是怎么做到的,但请看——苹果的家伙pmarcos证实了这一点在iOS7中不再有效。(这也与重复问题的答案相联系)您将其标记为重复,但我的问题是要进一步澄清,在应用程序终止时,是否有一种方法(意味着变通)来制作一个工作的地理围栏,因为如果Foursquare可以做到,为什么我们不能?对吗?