iPad専用のアプリケーション(iOS6)のグーグルマップに奇妙な問題があります。2つのビューで満たされた水平スクロールビューを作成しました。1つは詳細情報ビュー(一部のテキスト、特別なものはありません)で、もう1つはGoogleマップを備えたビューコントローラーです。これは、いくつかの異なる目的のための私のアプリケーション(2つのビューからのscrollviewビルド)のユニバーサルスキームです。この問題は、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];
シミュレーターでアプリケーションを実行すると、すべて問題ありません。XCode4.5.1を使用しています。