百度地圖官網的API開發教程鏈接:點擊打開鏈接
我按照他的教程做的總出現“Apple Mach-O linker command failed with exit code 1”的錯誤,於是只好自己上網搜了。
下面說說自己的搭建環境的方法吧 :我錯誤的原因是引入靜態庫的時候路徑錯誤導致的
1.下載鏈接點擊打開鏈接
2。解壓後如下:
3.把以上三個inc libs mapapi.bundle文件復制粘貼到項目根目錄下
點擊Xcode中項目名。原則add projects to"XXX" 把inc文件夾、mapapi.bundle文件和libs/Release-iphoneos文件夾中的libbaidumapapi.a添加到項目中。
4 幾乎所有的第三方地圖sdk都是依賴於apple自有的幾個framework,所以這一步需要我們導入:CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework。導入方法如下:
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+CjUuPC9wPgo8aDIgY2xhc3M9"mw-headline" id=".E7.AE.80.E4.BB.8B2">
引入靜態庫文件
1).在XCode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-ObjC
2).設置靜態庫的鏈接路徑,在XCode的Project -> Edit Active Target -> Build -> Search Path -> Library Search Paths中添加您的靜態庫目錄,$(SRCROOT)/libs/Release$(EFFECTIVE_PLATFORM_NAME)
Library Search Paths中這一個就夠了把其他的刪除
注:靜態庫中采用ObjectC++實現,因此需要您保證您工程中至少有一個.mm後綴的源文件(您可以將任意一個.m後綴的文件改名為.mm),或者在工程屬性中指定編譯方式,即將XCode的Project -> Edit Active Target -> Build -> GCC4.2 - Language -> Compile Sources As設置為"Objective-C++"
6.
選中工程,target,切換到Build Setting標簽,定位到other link flag,
輸入:-all_load
7.剩下的就只有代碼工作了,由於需要key的驗證,所以我們先需要使用BMKMapManager類,配置申請到的key,以得到授權。選中AppDelegate.h
[plain] view plaincopy
8 在需要顯示地圖的viewcontroller.m中加入如下代碼:
[plain] view plaincopy
自2.0.0起,BMKMapView新增viewWillAppear、viewWillDisappear方法來控制BMKMapView的生命周期,並且在一個時刻只能有一個BMKMapView接受回調消息,因此在使用BMKMapView的viewController中需要在viewWillAppear、viewWillDisappear方法中調用BMKMapView的對應的方法,並處理delegate,代碼如下:
源碼復制打印關於編譯,運行,效果如下圖所示: