2011-12-01 59 views
4

我使用的位置管理位置管理错误

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_CLLocationManager", referenced from: 
     objc-class-ref in ViewController.o 
    "_kCLLocationAccuracyHundredMeters", referenced from: 
     -[ViewController viewDidLoad] in ViewController.o 
    "_kCLDistanceFilterNone", referenced from: 
     -[ViewController viewDidLoad] in ViewController.o 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 

我加corelocation.framework到我的项目的框架文件夹,该项目是在清洁的成功,但失败了,给建设

+0

您是否在您的课堂中添加了导入语句? – Ravin

+0

是的,我做了:#import

+4

尝试从您的项目中删除框架,从您的项目中删除它(不仅仅是发布对is的引用),然后将其添加回来;清洁 - >清洁全部 - >运行 – CodaFi

回答

7

您需要导入您已经也做框架以下内容添加到您的.h文件中,你正在使用的CLLocation CLA ss如

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

@interface UntitledViewController : UIViewController <CLLocationManagerDelegate> { 
    CLLocationManager*  locationManager; 
    CLLocation*    locationObject; 
} 

@end 

希望它有帮助!

+0

你错过了委托CLLocationManagerDelegate :),我仍然在同样的问题:( –

+0

我想强调你需要添加#import 我有 –

+0

好的谢谢你,这显然是一个很好的猜测,但我用其他方式完成了这个问题:) –

0

相同的三个错误尝试添加给你的类

#import <CoreLocation/CoreLocation.h> 
+0

我已经将此添加到我的头文件 –

+0

您可以检查corelocation.framework是否添加到Frameworks文件夹中? – visakh7

+0

是的,它是在框架文件夹:( –

2

删除并添加回框架是正确的解决方案。 谢谢你的回答,它为我节省了很多工作。

1

我在单元测试项目中遇到了同样的问题。

问题是我将CoreLocation.framework添加到我的项目中,但忘记添加到单元测试项目中。