Iphone 位置管理器错误

Iphone 位置管理器错误,iphone,objective-c,ios,Iphone,Objective C,Ios,我正在使用位置管理器 Undefined symbols for architecture i386: "_OBJC_CLASS_$_CLLocationManager", referenced from: objc-class-ref in ViewController.o "_kCLLocationAccuracyHundredMeters", referenced from: -[ViewController viewDidLoad] in ViewCont

我正在使用位置管理器

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添加到我的项目的frameworks文件夹中,该项目在清理方面成功,但失败,并且在构建时出现了相同的三个错误

#import <CoreLocation/CoreLocation.h>

您需要导入已经完成的框架,并将以下内容添加到使用CLLocation类的.h文件中,如

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

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

@end

希望能有帮助

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

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


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

您在类中添加了导入语句吗?是的,我添加了:导入尝试通过删除从捆绑包中删除该框架,而不仅仅是从您的项目中释放对is的引用,然后再将其添加回捆绑包中;清洁->全部清洁->我想给你+10,伙计。就是这样:::刚刚清理工作对我有效。你能检查一下corelocation.framework是否添加到框架文件夹中吗?只是出于好奇,你是如何添加core location框架的?右键单击框架文件夹中的任何现有框架,然后选择“在文件夹中显示”,然后进行简单的拖放,无论如何,我已经完成了解决方案:您缺少委托CLLocationManagerDelegate:我也做了同样的事情,但问题仍然存在:我想强调的是,您需要添加导入,我也添加了委托..并且它的构建没有错误。好的,谢谢,伙计,这显然是一个很好的猜测,但我在另一方面解决了这个问题:我正在处理一个ionic cordova项目,cli忘了添加CoreLocation框架,所以我自己在Link Binary with Libraries中添加了它