2010-11-12 17 views
5

Hey alle, Ich versuche, die MKMapView zu starten und zu laufen, aber ich kann nicht scheinen, vorbei zu kommen, was ein Referenzfehler zu sein scheint. Ich habe ein paar Stunden damit verbracht, so gut wie letzte Nacht zu googeln.MKMapKit und die IOS4

Rubrik:

#import <UIKit/UIKit.h> 
#import <MapKit/MapKit.h> 

@interface MapsViewController : UIViewController { 
    MKMapView *mapView; 
} 

@end 

Main:

#import "MapsViewController.h" 

@implementation MapsViewController 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
    mapView = [[MKMapView alloc] initWithFrame:self.view.frame]; 
    [self.view insertSubview:mapView atIndex:0]; 
} 

- (void)didReceiveMemoryWarning { 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Release any cached data, images, etc that aren't in use. 
} 

- (void)viewDidUnload { 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 
- (void)dealloc { 
    [super dealloc]; 
    [mapView dealloc]; 
} 

@end 

Fehler:

Build Maps of project Maps with configuration Debug 

Ld build/Debug-iphonesimulator/Maps.app/Maps normal i386 
cd /workspace/iphone_dev/Maps 
setenv MACOSX_DEPLOYMENT_TARGET 10.6 
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk -L/workspace/iphone_dev/Maps/build/Debug-iphonesimulator -F/workspace/iphone_dev/Maps/build/Debug-iphonesimulator -filelist /workspace/iphone_dev/Maps/build/Maps.build/Debug-iphonesimulator/Maps.build/Objects-normal/i386/Maps.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -o /workspace/iphone_dev/Maps/build/Debug-iphonesimulator/Maps.app/Maps 

Undefined symbols: 
    "_OBJC_CLASS_$_MKMapView", referenced from: 
     objc-class-ref-to-MKMapView in MapsViewController.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 

ich es geschafft, die MKMapKit.framework in den entsprechenden Ordnern zu finden. Sind sie etwas, was ich vermisse?

Antwort

10

Klingt so, als müssten Sie MapKit.framework zu Ihrem Projekt hinzufügen, indem Sie mit der rechten Maustaste auf Ihre Projektliste in Xcode klicken und Add-> Existing Framework wählen. Wählen Sie MapKit, und Sie sollten es unter Targets -> Ihre App -> Binary mit Bibliotheken verknüpfen sehen.

+0

Sie wissen, die traurige Sache ist? Ich glaube, ich habe diese Antwort letzte Nacht gelesen, nachdem ich in einem anderen Thread ein paar Bierchen getrunken hatte. Haha Danke Kumpel. Ich weiß, ich habe etwas Einfaches vermisst! – jbcurtin

+0

Danke, Bosmacs! –

3

Was bosmacs sagte, ist richtig. Beachten Sie auch, dass Ihre Dealloc-Methode nicht korrekt ist.

- (void)dealloc { 
    [mapView release]; 
    [super dealloc]; 
} 

Sie sollten nie dealloc auf etwas anderes als Super nennen, und [Super dealloc]; geht immer am Ende Ihrer Dealloc-Methode.

Verwandte Themen