今天集成高德地圖,準備創建一個地圖的單例類。
結果出現一個詭異的現象,單例類的.m文件中可以引用到高德地圖的類,.h文件中卻報錯。
Paste_Image.png
Paste_Image.png
問題原因:預編譯.pch文件頭中,文件的引用順序錯誤。
解決方案:被引用的類的頭文件,應該放在引用者的頭文件上面。
#import <MAMapKit/MAMapKit.h>
#import <AMapSearchKit/AMapSearchKit.h>
#import <AMapFoundationKit/AMapFoundationKit.h>
#import <AMapLocationKit/AMapLocationKit.h>
#import <AMapNaviKit/AMapNaviKit.h>
#import "DSMapViewSingleton.h" //應該放在高德地圖頭文件的下面引用
具體原因,應該和預編譯順序有關系,待調查。