百度地圖、高德地圖的定位,搜索,模糊搜索 - 2

有了百度地圖的經驗,相對來說,使用高德SDK 就沒有這麼暈頭轉向的,但是在集成的時候,還是遇到了幾個問題

問題1:手動導入SDK後,運行的時候發現AMap.bundle導入不成功,其實AMap.bundle是導入了的,但是可能是因爲在MAMapKit.framework中,xcode找不到吧,所以解決得方法就是在MAMapKit.framework中找到AMap.bundle,然後拷貝到外面的文件夾中,此時一般xcode就會同步到bundle中,萬一沒的話那麼就自己導入吧

問題2:就是在集成搜索的時候,運行程序時,直接崩潰,提示的原因就是說執行搜索方法的時候,沒有這個方法,看到這裏,不僅程序崩潰了,老夫的內心也是崩潰的,首先我就想想到可能是局部變量提前釋放,導致指針不存在,後來我把所有的局部變量變成屬性,還是不能解決,此時我就想,難道高德api有問題???(當然意淫一下就算了) 
後來毫無頭緒的時候,想着肯定是配置環境的問題,找呀找呀找,原來是這一步沒有配置

在 TARGETS->Build Settings->Other Linker Flags 中添加-ObjC。 
-ObjC:加了這個參數後,鏈接器就會把靜態庫中所有的Objective-C類和分類都加載到最後的可執行文件中
-all_load:會讓鏈接器把所有找到的目標文件都加載到可執行文件中,但是千萬不要隨便使用這個參數!假如你使用了不止一個靜態庫文件,然後又使用了這個參數,那麼你很有可能會遇到ld: duplicate symbol錯誤,因爲不同的庫文件裏面可能會有相同的目標文件,所以建議在遇到-ObjC失效的情況下使用-force_load參數。
-force_load:所做的事情跟-all_load其實是一樣的,但是-force_load需要指定要進行全部加載的庫文件的路徑,這樣的話,你就只是完全加載了一個庫文件,不影響其餘庫文件的按需加載

所以千萬不要忘了

 

接下來就是集成了,這個相對來說比百度封裝的好一點
具體,完善再上傳吧

發佈了24 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章