天天看點

百度地圖api在xcode4.5中編譯需要注意的事情

  今天在老大的要求下,将原來用google地圖實作的地圖展示,換成百度地圖。從開始預研到最後的修改,每一個過程,都有很多需要注意的地方,現對今天遇到的問題做一個總結:

  1,将頭檔案和百度地圖的.a檔案添加到項目後,編譯不過。

     原因:百度這個sdk出來的時候,蘋果還沒有出iphone5和ios6,也沒有出xcode 4.5,是以,根本談不上對armv7s的支援。

    解決辦法:在工程的編譯設定裡面,在validateArtitecture裡面,将armv7s去掉。(如果項目中,有依賴其他的項目,也需要做類似的處理)

2,申請一個百度key後,添加到适當的位置(見官方文檔使用key的例子),程式運作,崩潰,崩潰的bad access處提示key校驗崩潰,而随意一個字元串(非key),卻不崩潰。

   原因:plist中的display bundle name 設定成了中文(我也不知道作為中國網際網路第一有錢公司,不支援中文是什麼情況)。

  解決辦法:果斷把它設定為工程名(英文),這個是我同僚發現的,相當具有敏銳的觀察力,贊一個。

3,随意寫一個key,工程能運作,不崩潰,發現地圖能定位,但是,地圖的内容是空白的。

  原因:key不對。終于發現key的重要作用了,原來如果想得到百度傳回的資料,就要有正确的key。

  解決辦法:申請一個key。(注意,使用正确的key,可能會出現第2種情況)

4,使用百度提供的api的真機版的.a檔案,死活編譯不過。

  原因:根據錯誤提示,可以倒推出,這個真機版本為了相容ios3.0的版本,當初使用的是 armv6來編的,在ios5上出了一點小岔子。(也有可能是我工程設定的問題,不太肯定)

  解決辦法:講simulater和真機辦的兩個.a檔案合成為一個大的.a檔案,合成方法,線上指南上有,而那個所謂的開發指南的.pdf檔案裡面沒有。(這個相當坑爹,鄙視之)

在項目編譯的過程中,基本就這些問題,希望能為大家省點時間,也希望百度早點更新skd。明天我會完成後續的工作,有新情況會寫續集,希望大家關注。。。

繼續閱讀