標籤:
成功將百度地圖sdk為我所用!現將具體步驟分享如下:xcode5.0.2/BaiduMap_IOSSDK_v2.4.0_All(下載最新版本,與之前有所不同) 首先註冊百度帳號,進入百度LBS開放平台,選擇IOS開發,進入頁面,按照步驟執行:1、申請key,建立應用,一個應用對應一個Key。應用程式名稱就填寫你要綁定的應用程式名稱字,注意:一旦填好不可更改!應用類型選擇for mobile;安全碼:開啟項目,選擇
—>就是Bundle Identifier裡面的內容;建立成功後會給你一個24位的key,記好,以後會用到。然後回到剛才的開發人員頁面,根據開發指南接著來,首先,注意事項裡第一條,我選擇了第一種方式將AppDelegate.m改為AppDelegate.mm;第二種方式,我沒找到在哪裡設定,而且一旦改為Objective-C++後面還要在改為Objective-C 編譯方式,比較麻煩;第2、3、4、5條就無所謂了,沒改;下一步,Hello BaiduMap;首先匯入百度地圖的所有標頭檔inc檔案夾中包含所有的標頭檔,為了方便我將BMapKit.h加到了先行編譯檔案中;匯入系統framework:
點擊加號把需要的庫檔案添加進去即可;然後引入mapapi.bundle檔案,也可以不用,裡面有一些圖片什麼的;至此,編譯應該是沒有問題的。最後也是最關鍵最容易出錯的地方,匯入靜態庫檔案,從下載的百度sdk中找到兩個.a檔案,一個是用於真機測試的,一個是用於模擬器的,根據當前開發人員頁面中的提示,我首先選擇了第一種方式,直接將兩個.a檔案都拖進了工程中,編譯後提示連結錯誤,找不到.a檔案,還有個i386的錯誤,這尼瑪讓我頭疼了。查閱文檔請求大嬸,最終沒有解決,而且這種方式就算編譯通過,在每次運行或者真機測試的時候都要重新在匯入一遍,果斷放棄治療;改用第二種方式,使用lipo命令將裝置和模擬器的.a合并成一個通用的.a檔案,將合并後的通用.a檔案拖拽至工程中即可,開啟終端,進入下載好的帶有兩個.a檔案的目錄,執行命令lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a;好,那麼問題來了:當然肯定不是挖掘機哪家強的問題,當我執行該行命令後彈出一長串error,英文的,大概就是說找不到我的Xcode的目錄,讓我重新設定目錄。原來lipo命令的執行是要有編譯器的支援,才能將兩個檔案合并,而我的小蘋果上面的確也安裝了Xcode為什麼他就找不到呢。通過查閱相關文檔又看了具體錯誤提示,才彷彿明白,由於我的小蘋果上面裝了兩個不同版本的xcode,一個是Xcode 6.0,為了便於區分另一個我命名為xcode2 5.0,預設是用6.0開啟,而我用的是5.0,他就不知道要通過哪個編譯器來執行,於是乎,我果斷將6.0卸載掉了,重新執行合并命令,這次,問題又來了:大概也是說 提示說在應用程式中沒有找到Xcode應用程式,無法執行操作,並彈出一個框,是否安裝xcode?我到應用程式裡查看了一下,明明存在,為什麼說沒有呢,找了好久沒找出個123來,重啟xcode,重啟模擬器,重啟小蘋果,還是不行。這下真沒招了,算了去吃飯吧,在餐廳點了個叫雙蛋火腿套餐的飯,看名字應該是有兩個雞蛋加一個火腿,盛上來看了下是火腿炒雞蛋,我就弱弱的問了一下,這個叫雙蛋火腿飯嗎?盛飯的妹子說,是的,你還可以選其他兩個菜,可以加一個煎雞蛋。我看了一下其他菜,的確有一盆煎雞蛋!才明白,原來雙蛋是這個樣子的!看來不能只看名字啊。這到使我想起那個錯誤,找不到我的xcode,是不是因為我給他重新命名了?所以找不到叫Xcode的編譯器,果斷快速吃完飯回去將xcode2 5.0 改為標準命名:Xcode;在次執行合并命令,success!那個興奮啊,趕緊將合并好的libbaidumapapi.a檔案匯入工程,Command+B ——>Build Succeeded! 根據剛才開發人員頁面的提示加點代碼,Command+R————>京城的地圖就這樣神奇般的出現在了我面前!!
寫這些東西,希望對那些和我一樣有著同樣問題的初學者有所協助。
iOS開發中如何使用百度地圖SDK