iOS 百度地圖導航SDK與第三方庫沖突

之前做過一次關于基站定位?并帶有導航功能,直接使用的百度地圖iOS地圖SDK,直接簡單的完成了。新項目中也有導航功能,再次進入百度地圖的開放平臺,發現有個iOS導航SDK,想著這次的功能簡單,不用再?下載所有的iOS地圖SDK,用這個導航的SDK就行了。然而,折騰了好久...

iOS導航SDK

當你按照官網的詳細步驟,獲取密鑰、下載SDK、集成到工程、添加依賴庫、配置環境,以及溫馨提示的權限問題、網絡配置等完成之后。按下Command+B編譯,如果順利通過了,那么恭喜你,你可以關閉網頁,繼續寫代碼了(如果沒問題也不會來看這篇文章了 - -!)。
具體的錯誤提示忘記截圖了,大致的錯誤是第三方庫沖突,會出問題的第三方庫有 MBProgressHUD、AFNetworking、Masonry,其他庫不清楚, 剛剛出現的時候我用CocoaPod把MBProgressHUD庫刪除了,然后會出AFNetworking的錯誤。解決方案:來自官網

方案一

臨時解決方案:把libbaiduNaviSDK.a移到“Linked Frameworks and Libraries”的最后一個。(我感覺這個解決方案是比較看臉的)

方案二

使用v3.0.2,官網上的版本是v3.0.0,論壇的是v3.0.2(不看論壇就不知道有新版本),并附有下載鏈接。提示:下載的v3.0.2不帶libbaiduNaviSDK.a文件,請將v3.0.0的.a文件拖入工程。

這兩種我試過了,都沒有成功。最終沒有辦法,繼續使用iOS地圖SDK

iOS地圖SDK.png

Base為基礎庫,Utils用于導航計算使用。可根據項目需求添加。
使用:在AppDelegate初始化
調用的代碼:

    //初始化調啟導航時的參數管理類
    BMKNaviPara* para = [[BMKNaviPara alloc]init];
    //初始化起點節點
    BMKPlanNode* start = [[BMKPlanNode alloc]init];
    //指定起點經緯度
    CLLocationCoordinate2D coor1;
    coor1.latitude = ;
    coor1.longitude =  ;
    start.pt = coor1;
    //指定起點名稱
    start.name = @"我的位置";
    //指定起點
    para.startPoint = start;
    
    //初始化終點節點
    BMKPlanNode* end = [[BMKPlanNode alloc]init];
    //指定終點經緯度
    CLLocationCoordinate2D coor2;
    coor2.latitude = ;
    coor2.longitude =  ;
    end.pt = coor2;
    //指定終點名稱
    end.name = @"終點位置";
    //指定終點
    para.endPoint = end;
    //指定返回自定義scheme
    para.appScheme = @"";
    //調啟百度地圖客戶端導航
    [BMKNavigation openBaiduMapNavigation:para];
百度地圖.png

只有駕車界面支持web,也帶有偏好選擇功能。基本可以滿足正常使用,導航SDK能正常使用之前暫時就用這個吧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容