Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
在特定时间发送iPhone当前位置_Iphone_Objective C_Ios_Mkmapview - Fatal编程技术网

在特定时间发送iPhone当前位置

在特定时间发送iPhone当前位置,iphone,objective-c,ios,mkmapview,Iphone,Objective C,Ios,Mkmapview,我想写一个程序,发送GPS位置(纬度,经度)在一个特定的时间。。。所以它就像一个警报,但它不是嗡嗡作响,而是在特定的时间发送位置 我能想到的最好的方法是从服务器推送通知,但这是没有用的 更新: 我真的想创建一些类似于自动签入的东西。如果这个应用程序可以做到,那么我想做的很简单,我只是检查时间,如果它适合签入如果不通过 你想做的事实际上是不可能的。除非您使用某种方法使您的应用程序始终处于前台活动状态,否则报警时间将过去,并且您的应用程序将不会激活以运行任何代码。来自服务器的推送通知允许播放声音、显

我想写一个程序,发送GPS位置(纬度,经度)在一个特定的时间。。。所以它就像一个警报,但它不是嗡嗡作响,而是在特定的时间发送位置

我能想到的最好的方法是从服务器推送通知,但这是没有用的

更新:


我真的想创建一些类似于自动签入的东西。如果这个应用程序可以做到,那么我想做的很简单,我只是检查时间,如果它适合签入如果不通过

你想做的事实际上是不可能的。除非您使用某种方法使您的应用程序始终处于前台活动状态,否则报警时间将过去,并且您的应用程序将不会激活以运行任何代码。来自服务器的推送通知允许播放声音、显示消息或更改应用程序的徽章号,但它们不会在应用程序中运行代码。后台执行限制为10分钟的运行时间,之后操作系统将终止您的应用程序。

如果应用程序至少使用以下服务之一:GPS、Voip或音乐,您可以让它永远在后台运行。对于任何其他应用程序,10分钟的限制都会扼杀它们

将其放入application.plist文件中

  <key>UIBackgroundModes</key>
    <array>
            <string>location</string>
    </array>
ui背景模式
位置

那么,什么才是最好的选择呢?请用户在时间x时手动打开gps?@MacTeo的回答基本上是正确的,但电池寿命会非常糟糕,特别是如果你将精度设置得足够高,它会打开gps收音机。我只是好奇视频中的那个应用程序,是不是iPhone 4上的那个应用程序基本上一直开着gps,您可以设置在进入或离开区域时触发的区域。他可能会用它来表示最爱。在3GS和更高版本上,您也可以使用重要的位置更改触发器,但这是基于蜂窝塔的,并且是粗粒度的(大约2公里)。你会注意到他的精度滑块表示,这是位置精度和电池寿命之间的折衷。这可能会映射到
CLLocation
精度,这反过来又决定了所使用的硬件。他说,它会定期检查,所以在此期间它可能会停止监控,这将有助于降低功耗。通过设置区域,你的意思是我们可以对特定区域(纬度、经度)进行编码,当手机进入该区域时,它会进行检入?所以在我上面提到的视频中。。。应用程序是否使用此方法?它始终开启gps。如果您需要与视频中显示的完全相同的行为,您可以尝试使用CLLocationManager的方法desiredAccuracy、distanceFilter甚至startMonitoringForRegion:desiredAccuracy:节省电池寿命。在某些设备中,您甚至可以使用startMonitoringSignificantLocationChanges来避开GPS,而只使用蜂窝网络单元。