今天集成高德地图,准备创建一个地图的单例类。
结果出现一个诡异的现象,单例类的.m文件中可以引用到高德地图的类,.h文件中却报错。
问题原因:预编译.pch文件头中,文件的引用顺序错误。
解决方案:被引用的类的头文件,应该放在引用者的头文件上面。
#import <MAMapKit/MAMapKit.h>
#import <AMapSearchKit/AMapSearchKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>
#import <AMapLocationKit/AMapLocationKit.h>
#import <AMapNaviKit/AMapNaviKit.h>
#import "DSMapViewSingleton.h" //应该放在高德地图头文件的下面引用
具体原因,应该和预编译顺序有关系,待调查。