iOS之报错上架填坑IOS开发脱坑之路OC-开发案例收集

百度地图开发随笔

2016-02-26  本文已影响1228人  啪嗒嗒

一.配置.framework形式开发包
A.使用Cocoapods
1.添加Podfile文件

vim Podfile

2.编辑Podfile内容

pod "BaiduMapKit" #百度地图SDK

3.安装

pod install

PS:i进入编辑模式 Esc退出编辑模式 :wq保存
二.引入所需系统库

Xcode的Project -> Active Target ->Build Phases ->Link Binary With Libraries
CoreLocation.framework
QuartzCore.framework
OpenGLES.framework
SystemConfiguration.framework
CoreGraphics.framework
Security.framework

libsqlite3.0.tbd(xcode7以前为 libsqlite3.0.dylib)
CoreTelephony.framework 
libstdc++.6.0.9.tbd(xcode7以前为libstdc++.6.0.9.dylib)
最后三个为V2.9.0新增系统库,使用v2.9.0及以上版本的地图SDK,必须导入
盘.png

三.配置环境

在TARGETS->Build Settings->Other Linker Flags 中添加-ObjC。

四.引入mapapi.bundle资源文件

选中工程名,在右键菜单中选择Add Files to “工程名”…,从BaiduMapAPI_Map.framework||Resources文件中选择mapapi.bundle文件,并勾选“Copy items if needed”复选框,单击“Add”按钮,将资源文件添加到工程中
25F2501C-0F0E-4B51-B4A4-4D03B2DEB7B5.png

五.引入头文件

#import <BaiduMapAPI_Base/BMKBaseComponent.h>          //引入base相关头文件
#import <BaiduMapAPI_Map/BMKMapComponent.h>            //引入地图功能所有头文件
#import <BaiduMapAPI_Search/BMKSearchComponent.h>      //引入检索功能所有头文件
#import <BaiduMapAPI_Cloud/BMKCloudSearchComponent.h>  //引入云检索功能的所有头文件
#import <BaiduMapAPI_Location/BMKLocationComponent.h>  //引入定位功能所有的头文件
#import <BaiduMapAPI_Utils/BMKUtilsComponent.h>        //引入计算工具所有的头文件
#import <BaiduMapAPI_Radar/BMKRadarComponent.h>        //引入周边雷达功能所有的头文件

六.地图启动
1.AppDelegate.h

#import <UIKit/UIKit.h>
#import <BaiduMapAPI_Base/BMKBaseComponent.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate,BMKGeneralDelegate>
@property (strong, nonatomic) UIWindow *window;
@end

AppDelegate.m

BMKMapManager  * _mapManager = [[BMKMapManager alloc]init];
BOOL ret = [_mapManager start:@"这里输入你在百度SDK申请到的key" generalDelegate:self];
    if (!ret) {
        NSLog(@"启动失败");
    }

2.ViewController.m

-(void)makeMap
{
    BMKMapView * mapView = [[BMKMapView alloc]initWithFrame:CGRectMake(0, 0, KSCREEN_WIDTH, KSCREEN_HEIGHT-64)];
    [self.view addSubview:mapView];
}

PS:需要在plist文件中新建一个选项,key填写Bundle display name;value填写你的app名称就可以了
ios8以上需在info.plist里任意添加下面一条,二选一,否则无法启动定位
NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述
NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述

DFDE04ED-E541-461B-8855-21E4698C042D.png

3.打包时候如果报错

ld: bitcode bundle could not be generated because '/Users/Moin/Desktop/DSMIS /Pods/BaiduMapKit/BaiduMapKit/BaiduMapAPI_Base.framework/BaiduMapAPI_Base(BMSDKKeychainItemWrapper.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture arm64

原因是:第三方库不包含bitcode
解决方式:

1:让第三方库支持bitcode 
2:关闭bitcode
2:Build settings-搜索 Enable Bitcode
改成No
上一篇下一篇

猜你喜欢

热点阅读