越狱iPhone 3g + startMonitoringSignificantLocationChanges
我想知道我的代码是否损坏,或者即使越狱(多任务激活)的iPhone 3G可能不支持这一点。越狱iPhone 3g + startMonitoringSignificantLocationChanges
我创建了一个CLLocationManager,设置委托等,并告诉它“startMonitoringSignificantLocationChanges”。每当应用程序被调用时,我都会将其记录到textView。但是什么都没有发生。不是,如果我开车5公里或20公里。
所以我想,让我们来挖一点。我发现这个API: NSLog(@“Location Change Available:%i \ n”,[CLLocationManager significantLocationChangeMonitoringAvailable]);
可悲的是它返回一个零:[
所以,要问我的是:没有人把它上了3G工作?任何提示?不可能?
iOS4为核心位置带来了两种新的背景模式:startMonitoringSignificantLocationChanges
和startMonitoringForRegion:desiredAccuracy:
使用CLRegion
。
后者只适用于iPhone 4设备,可能是由于设备中新的GPS硬件。我在苹果开发者论坛上确认了这个w/a Apple代表。
但是,我已成功测试了3GS上的startMonitoringSignificantLocationChanges。我已经在越狱3G以及香草3G上测试过相同的代码。我相信答案只是苹果决定不会在3G上启用这项功能,因为资源不足。
启用该功能后,当发生重要位置事件时,您的程序将在后台启动。这种背景多任务可能会将3G延伸到极限(在Apple的眼中)。关于这个主题的Apple文档非常不清楚哪些设备支持什么。它说“调用这些方法,并依靠他们返回的东西”。我已经在他们的开发者论坛上发布了他们希望他们能够清楚哪些设备支持哪些模式。
Apple's "official" documentation for testing for availability
我昨天试过了,得到了同样的结果。我有一个运行iOS4的越狱iPhone 3G,激活多任务。
[CLLocationManager significantLocationChangeMonitoringAvailable]返回0
如果我使用[经理startUpdatingLocation],它在后台工作,但它使用了大量的资源。
呀,startUpdatingLocation根据设置使用GPS。 GPS吸收了很多功率。 :[ 真的很伤心。猜猜这意味着我必须得到一个新设备:/ – partel 2010-07-07 10:21:23
这很有趣。虽然Google搜索它,但我实际上偶然发现了你的博客文章:-)它指出“iPhone 3G/3GS(不是iPod Touch)应该是YES”。这就是为什么我甚至打扰问是否可能以某种方式:-) 感谢您的彻底答案! – partel 2010-07-07 11:59:20
prattel - 对,3G是错的。我更正了博客条目! – makdad 2010-08-23 06:34:01