2013-07-25 51 views
1

我不在爲什麼錯誤:使用未聲明的標識符'KCLDistanceFilterNone'和'kCLLocationAccuracyHundredMeters'繼續爲我的CoreLocation.m文件夾。即使我刪除了「;」也有更多的錯誤。從選擇線。有人可以幫忙嗎?在CoreLocation中使用未聲明的標識符錯誤

#import "CoreLocation.h" 

@implementation CoreLocation : NSObject 

- (NSString *)deviceLocation { 
    NSString *theLocation = [NSString stringWithFormat:@"latitude: %f longitude: %f", locationManager.location.coordinate.latitude, locationManager.location.coordinate.longitude]; 
    return theLocation; 
} 

- (void)viewDidLoad 
{ 
    locationManager = [[locationManager alloc] init]; 
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; 
    [locationManager startUpdatingLocation]; 
} 

@end 

此外,我會在CoreLocation.m文件夾中添加什麼來補充此問題併爲我的應用程序完成位置服務?

回答

1

一對夫婦的想法:

  1. 你列入linked libraries/frameworks列表中CoreLocation.framework?

  2. 您是否完成CoreLocation.framework標頭的導入?

    #import <CoreLocation/CoreLocation.h> 
    
  3. ,我也不會想到,CoreLocation是爲你的類一個好名字,因爲那表示,上述線之間的混亂,你行:

    #import "CoreLocation.h" 
    

    它應該工作(有這兩行),但它似乎不必要的混淆(並與#import的功能相關的風險問題,自動防止加載相同的.h文件兩次)。

    我建議給你的自定義CoreLocation類(a)一個獨特的名稱,不會與現有標題混淆;和(b)一個更有意義的名稱,表明它在做什麼(例如CoreLocationUtilitiesAppCoreLocationManager或其他)。

  4. 你分配/ init方法行引用了一個變量名:

    locationManager = [[locationManager alloc] init]; 
    

    應該大概引用類的名稱,例如:

    locationManager = [[CLLocationManager alloc] init]; 
    

    這讓我不知道你是如何定義的locationManager實例如果您沒有在該行發生錯誤,則爲變量。

  5. 無關您的問題,我是你的自定義CoreLocation類是一個NSObject子類,但隨後有viewDidLoad方法,通常是一個視圖控制器方法參考困惑。這似乎只會進一步泥濘的水域。

+0

我仍然收到以下錯誤: - (NSString *)deviceLocation; {和我的第一個「{」在底部? – TeenDev13

+0

我修復了問題並獲得了座標。 – TeenDev13

相關問題