我的 iPad 专用应用程序(使用 iOS6)中的谷歌地图有一个奇怪的问题。我做了一个水平滚动视图,里面有两个视图。一个是详细信息视图(一些文本,没什么特别的),第二个视图是带有谷歌地图的视图控制器。这是我的应用程序中的通用方案(从两个视图构建的滚动视图)用于几个不同的目的。当我开始在带有 iOS6 的真实 iPad 上测试应用程序时,就会出现问题。应用程序在应该查看滚动视图时崩溃。但不是马上。开始时,可以正确查看滚动视图。然后我想用新数据构建一个新的滚动视图。它也很好,并且可以正确查看滚动视图。经过一些这样的操作后,我开始收到越来越多的错误日志,如下所示:
failed to make complete framebuffer object 8cdd
运行几次 scrollView 后,应用程序崩溃而没有任何其他错误。代码编辑器指向 main.m 文件,以及以下行:
int retVal = UIApplicationMain(argc, argv, nil, nil);
请指导我找出我做错了什么。我的视图控制器中负责查看谷歌地图的 viewDidLoad 方法在哪里:
-(void)viewDidLoad {
mapView.mapType = MKMapTypeSatellite;
mapView.showsUserLocation = YES;
/* ANNOTATION (pin) */
CLLocationCoordinate2D annotationCoord;
annotationCoord.latitude = [self.restaurant.latitude doubleValue];
annotationCoord.longitude = [self.restaurant.longitude doubleValue];
// a pin with the info.
MKPointAnnotation *annotationPoint = [[MKPointAnnotation alloc] init];
annotationPoint.coordinate = annotationCoord;
annotationPoint.title = self.restaurant.name;
// add annotation to the map
[mapView performSelectorOnMainThread:@selector(addAnnotation:)
withObject:annotationPoint
waitUntilDone:YES];
[annotationPoint release];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance (annotationCoord, 500, 500);
[self.mapView setRegion:region animated:YES];
[super viewDidLoad];
}
并且无论我如何将带有谷歌地图的视图控制器推送到视图。它总是使我的应用程序崩溃:(。我试过这样:
[scrollView addSubview:self.googleMapViewController.view];
或者那个:
[[self navigationController] pushViewController:self.googleMapViewController animated:YES];
当我在模拟器上运行应用程序时,一切正常。我正在使用 XCode 4.5.1。