2012-11-22 7 views
6

Ich habe ein seltsames Problem mit Google Map in meiner Anwendung für iPad (mit iOS6) gewidmet. Ich habe eine horizontale Bildlaufansicht mit zwei Ansichten erstellt. Eine ist eine detaillierte Informationsansicht (etwas Text, nichts Besonderes) und die zweite Ansicht ist ein View-Controller mit Google Map. Dies ist das universelle Schema in meiner Anwendung (Scrollview Build aus zwei Ansichten) für ein paar verschiedene Zwecke. Das Problem tritt auf, wenn ich die App auf einem echten iPad mit iOS6 getestet habe. Die Anwendung stürzt ab, wenn eine Bildlaufansicht angezeigt werden soll. Aber nicht sofort. Beim Start wird die Bildlaufansicht ordnungsgemäß angezeigt. Dann möchte ich eine neue Scroll-Ansicht mit neuen Daten erstellen. Es geht auch gut, und die Bildlaufansicht wird ordnungsgemäß angezeigt. Nach ein paar Betrieb wie das ich so beginnen habe mehr und mehr Fehlerprotokolle receiveing:Anwendung verwendet MapKit Absturz auf iOS6

failed to make complete framebuffer object 8cdd

Nach einigen Durchläufen von Scrollview, der Absturz der Anwendung ohne zusätzliche Fehler. Code-Editor Punkte auf main.m-Datei und die folgende Zeile ein:

int retVal = UIApplicationMain(argc, argv, nil, nil);

Bitte mich direkt zu finden, was mache ich falsch. Wo ist die viewDidLoad Methode aus meiner Sicht Controller verantwortlich für die Anzeige der Google-Karte:

-(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]; 
} 

und keine mater, wie ich die View-Controller mit Google-Map zu der Ansicht drücken. Es stürzt immer meine app :(`ve wie dies versucht.

[scrollView addSubview:self.googleMapViewController.view]; 

oder dass:

[[self navigationController] pushViewController:self.googleMapViewController animated:YES]; 

Wenn ich die Anwendung auf Simulator laufen, gibt` s alles in Ordnung Ich bin. Verwenden von XCode 4.5.1

Antwort

0

Ich hatte das gleiche Problem in einem meiner Projekte.Es wurde von einem Speicherverlust verursacht.Map-Ansichten verbrauchen viel Speicher, wenn Sie sie nicht löschen.Es erscheint nicht im Simulator weil ein Computer viel mehr Speicher verwenden kann Stellen Sie einfach sicher, die Kartenansichten loszuwerden, wenn Sie brauche sie nicht mehr. Ich empfehle auch, die App mit Instrumenten (Leaks) zu laufen - es ist ein extrem nützliches Werkzeug in solchen Fällen.