2009-07-08 12 views
8
@class CLLocationManager; 

@interface CLLocationController : NSObject 
{ 
    CLLocationManager *locationManager; 
} 

@property (nonatomic, retain) CLLocationManager *locationManager; 

@end 

bekommen, wenn ich über Code zu schreiben ist, zeigt mir folgende FehlerWie CLLocationManager in meiner app

Fehler: CLLocationManager.h: Keine solche Datei oder das Verzeichnis Warnung: Empfänger ‚CLLocationManager‘ ist eine vorwärts-Klasse und Entsprechendes @ Interface darf nicht fehlerhaft sein: Zugriff auf unbekannte 'Delegate'-Komponente einer Eigenschaft

Antwort

18

Warum deklarieren Sie Ihre eigenen Klassen mit dem CL-Präfix?

Auch der Fehler hat nichts mit dem Code zu tun, den Sie gezeigt haben; Es bezieht sich auf die Zeile #import in Ihrer Implementierungsdatei. Du bist wahrscheinlich so etwas wie dies zu tun:

#import "CLLocationManager.h" 

statt der richtigen Art und Weise:

#import <CoreLocation/CoreLocation.h> 

nicht einzelne Header aus einem Rahmen seiner Top-Level-Header importieren Sie direkt importieren und das geben lassen du, was du brauchst. Wenn die Kompilierung zu lange dauert, verschieben Sie die #import in die Präfix-Kopfzeile und stellen Sie sicher, dass "Precompile Prefix Header" aktiviert ist.

6

Vergessen Sie auch nicht, dass Sie das CoreLocation-Framework tatsächlich zu Ihrer App hinzufügen müssen. Doppelklicken Sie dazu auf Ihr Ziel, gehen Sie zur ersten Registerkarte und klicken Sie auf die Schaltfläche + in der unteren linken Ecke. Dadurch wird eine Liste verfügbarer Frameworks angezeigt. Suchen Sie CoreLocation.framework und klicken Sie auf "OK".

Verwandte Themen