我们正在开发一个企业应用程序。这些手机连接到Wifi路由器。目标是在手机移出安全区域时触发警报..(建筑物外) 检查iPhone是否总是在建筑物内的最佳方法是什么。
我们尝试的一些选项是
1.使用Wifi(连续ping到wifi网络),如果没有触发警报。 2.如果坐标发生变化(使用GPS)
还有其他方法可以实现这一目标。
答案 0 :(得分:1)
您可以在iOS 4中使用位置服务(具有后台位置功能)来确定手机何时移动到其他位置。
答案 1 :(得分:0)
@ indragie使用位置服务的想法很好。如果您可以确定WIFI SID不会改变,您可以探测iPhone当前与哪个接入点关联。如果要ping,那么更好的方法是使系统服务不可知,并且只需定期向企业服务器发出HTTP查询。然后,服务器可以在其上使用策略语言来声明可接受的接入点(来自各种指标)。这可能是为了让人们把他们的iPhone带回家。
答案 2 :(得分:0)
您最好的选择是GPS,因为如果您依赖WiFi并且设备未连接到WiFi网络,手机将无法找到其位置。
在此处查看Apple的位置感知功能文档http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html
您可以在后台跟踪“重要”或标准位置更改,详细信息可在此处找到http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH5
[编辑包含] 您也可能对此感兴趣 - http://longweekendmobile.com/2010/07/22/iphone-background-gps-accurate-to-500-meters-not-enough-for-foot-traffic/
答案 3 :(得分:0)
这取决于你想做什么。只是为了让iPhone用户知道他/她正在离开,使用位置服务已经足够了。
但是,如果您想要一台确保所有设备都在范围内的服务器,那么它会更复杂,因为您的应用程序可能会在没有来自后台状态的通知的情况下被暂停;换句话说,您可能无法抓住应用程序终止并采取适当措施的时刻。因此,在这种情况下,您将需要一个心跳系统,例如ping服务器。