iOS 6使用MKUserTrackingModeFollowWithHeading映射问题

iOS 6使用MKUserTrackingModeFollowWithHeading映射问题,第1张

概述我正在尝试用iOS 6中的MKUserTrackingModeFollowWithHeading解决两个问题: > MKUserTrackingModeFollowWithHeading工作简单,但它很紧张,几乎立即返回MKUserTrackingModeFollow,特别是在高缩放级别. >当重复更改MKUserTrackingMode时,应用程序偶尔会崩溃:我在主线程上获得了EXC_BAD_A 我正在尝试用iOS 6中的MKUserTrackingModeFollowWithheading解决两个问题:

> MKUserTrackingModeFollowWithheading工作简单,但它很紧张,几乎立即返回MKUserTrackingModeFollow,特别是在高缩放级别.
>当重复更改MKUserTrackingMode时,应用程序偶尔会崩溃:我在主线程上获得了EXC_BAD_ACCESS,没有进一步的信息.这很难再现,但它反复发生.

关于可能导致这种情况的任何想法?感觉就像一个错误,但Apple自己的“地图”应用程序没有表现出这种行为.

为了隔离这些问题,我创建了一个带有MKMapVIEw和UIToolbar(在.xib中设置)的单视图应用程序,我正在添加一个MKUserTrackingbarbuttonItem. UIVIEwController充当< MKMapVIEwDelegate>.这是完整的实现代码:

#import "VIEwController.h"@implementation VIEwController@synthesize mapVIEw,toolbar;- (voID)vIEwDIDLoad{    [super vIEwDIDLoad];    // Add MKUserTrackingbarbuttonItem to toolbar    MKUserTrackingbarbuttonItem *trackbutton = [[MKUserTrackingbarbuttonItem alloc] initWithMapVIEw:self.mapVIEw];    [toolbar setItems:[NSArray arrayWithObjects:trackbutton,nil] animated:YES];}- (voID)mapVIEw:(MKMapVIEw *)mapVIEw dIDChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOol)animated{    // Log MKUserTrackingMode change    Nsstring *modeType = (mode == 0) ? @"None" : ((mode == 1) ? @"Follow" : @"FollowWithheading");    NSLog(@"MKUserTrackingMode changed to: %@",modeType);}@end
解决方法 这是MapKit中的 bug.也可以使用MapKit在Apple Maps中观察,例如Find My FrIEnds应用程序.请注意,Apple Maps应用程序未使用MapKit(至少不是同一版本),因此它不受此错误的影响.

我也确实在MapKit中看到偶发的EXC_BAD_ACCESS崩溃.事实上,MapKit相关的崩溃占我应用程序崩溃的绝大部分. 总结

以上是内存溢出为你收集整理的iOS 6使用MKUserTrackingModeFollowWithHeading映射问题全部内容,希望文章能够帮你解决iOS 6使用MKUserTrackingModeFollowWithHeading映射问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存