基础SDK介绍 最后更新时间: 2021年09月09日
在相关下载中您可以看到我们提供了一个新的 SDK,这个基础 SDK 中包含了 高德 iOS 地图、定位、导航等 SDK 需要的基础核心,以及必要的公共资源,是使用其他 SDK 前必须引入的基础 SDK。
使用指南
1、自 iOS 地图 SDK V4.0.0 版、iOS 定位 SDK V2.0.0 版、iOS 导航 SDK V2.0.0 版之后的全部 iOS SDK 均需要引入基础 SDK。
2、基础 SDK 自 V1.2.0 版本后集成了 IDFA 服务,如果您的 APP 中并没有使用到相关服务,请您务必查看提交AppStore必读。
3、iOS 地图 SDK V4.0.0 版、iOS 定位 SDK V2.0.0 版、iOS 导航 SDK V2.0.0 版本及以后版本的 SDK设置Key时,需要引入基础SDK头文件#import <AMapFoundationKit/AMapFoundationKit.h>并添加如下示例代码,配置之前在官申请的高德Key。
[AMapServices sharedServices].apiKey =@"您的key";
AMapServices.shared().apiKey = "您的key"
权限配置
网络权限-应用HTTPS解决方案(必选)
App Transport Security,简称 ATS,是苹果在 iOS 9 当中首次推出的一项安全功能。启用 ATS 之后,它会强制应用通过 HTTPS(而不是 HTTP)连接网络服务,这能够通过加密来保障用户数据安全。虽然 ATS 是默认开启的,但开发者仍然能够关闭,让自己的应用通过 HTTP 连接传输数据。然而,从2017年1月1日起,苹果将要求所有提交到 App Store 的应用强制开启 ATS。
下方提供了高德 iOS SDK 支持苹果 ATS 安全功能的方案,为保证应用在提交 AppStore 时不受影响,请按照如下步骤操作。
第 1 步,升级 SDK
请对照下表更新您的SDK。
产品名称 | 支持HTTPS版本 | 发布时间 |
---|---|---|
iOS 基础SDK | V1.3.2及以上(https://lbs.amap.com/api/ios-sdk/download/) | 2016-11-08 |
iOS 3D地图SDK | V4.5.0及以上(https://lbs.amap.com/api/ios-sdk/download/) | 2016-12-08 |
iOS 2D地图SDK | V4.5.0及以上(https://lbs.amap.com/api/ios-sdk/download/) | 2016-12-08 |
iOS 搜索SDK | V4.4.1及以上(https://lbs.amap.com/api/ios-sdk/download/) | 2016-12-02 |
iOS 定位SDK | V2.2.0及以上( https://lbs.amap.com/api/ios-location-sdk/download/) | 2016-11-02 |
iOS 导航SDK | V2.3.0及以上( https://lbs.amap.com/api/ios-navi-sdk/download/) | 2016-10-13 |
第 2 步 ,开启 HTTPS 功能
您只需在配置高德 Key 前,添加开启 HTTPS 功能的代码,如下:
[[AMapServices sharedServices] setEnableHTTPS:YES];
[[AMapServices sharedServices] setEnableHTTPS:YES];
IDFA权限(可选)
基础 SDK V1.2.0 版本(包括其后版本)引入了 IDFA,可能会造成您的应用提交AppStore审核失败,请您认真阅读下文。
引入IDFA的目的
引入 IDFA 能够较精准的识别用户,能帮助我们最大程度的追踪您在使用 SDK 时的问题,确保SDK稳定性,如果您的应用集成了广告服务,建议使用我们线上版本的 SDK。
若您的应用未集成任何广告服务,但需要跟踪广告带来的激活行为,您仍旧可以使用我们线上版本的 SDK,具体内容请继续向下阅读。
审核时关于 IDFA 选项的选择
提交 AppStore 审核时关于 IDFA 的选项,如下图所示:
以上4项代表的含义
1、在 App 内投放广告
服务应用中的广告。如果你的应用中集成了广告的时候,你需要勾选这一项。
2、将此 App 安装归因于先前投放的特定广告
跟踪广告带来的安装。如果你使用了第三方的工具来跟踪广告带来的激活以及一些其他事件,但是应用里并没有展示广告你需要勾选这一项。
3、将此 App 中发生的操作归因于先前投放的特定广告
跟踪广告带来的用户的后续行为。如果你使用了第三方的工具来跟踪广告带来的激活以及一些其他事件。
4、iOS 中的“限制广告跟踪”设置
对您的应用使用 IDFA 的目的做下确认,只要您获取了 IDFA,那么这一项都是需要勾选的。
被 AppStore 拒绝的解决办法
1、如果您的应用里只是集成了广告,不追踪广告带来的激活行为,那么选择 1 和 4。
2、如果您的应用没有广告,而又获取了 IDFA。我们建议选择 2 和 4。
下载集成无 IDFA 的基础 SDK
如果您仍旧不希望使用集成 IDFA 版本的 SDK,您可以下载 无IDFA的版本。
或者通过 Cocoapods 引用:
先编辑 Podfile 文件:
platform :ios, '9.0' #手机的系统 target 'YourProjectTarget' do pod 'AMapLocation-NO-IDFA' #无IDFA版定位 SDK end
保存后,执行命令:
$pod install
如果无法更新 SDK ,需要在命令行键入 pod repo update 来更新pod库。
Wifi信息权限(可选)
在iOS 12+中使用此方法需要在Xcode中为应用授权获取WiFi信息的能力。授权后,Xcode会自动在App ID和应用的权限列表中增加获取WiFi信息的权限。
解决方案:Xcode -> [Project Name] -> Targets -> [Target Name] -> Capabilities -> Access WiFi Information -> ON
解决方案步骤图示
按照上述方案操作完毕后,会发现工程的.entitlements文件中多了一对Key-Value:
.entitlements文件
至此,就能在iOS 12+中正常获取到WiFi的SSID了。