入门指南 最后更新时间: 2021年09月18日
第 1 步:获取最新版本的 Xcode
建议您使用 8.0 版或更高版本的 Xcode开发引用 高德 iOS SDK 的项目。(注:下载地址为Apple官方网站)
第 2 步:获取 CocoaPods
高德 iOS SDK 以 CocoaPods pod 形式提供。 CocoaPods 是一种用于 Swift 和 Objective-C Cocoa 项目的开源依赖项管理器。
如果您尚未安装 CocoaPods 工具,请在 OS X 上从终端运行以下命令进行安装。 如需了解详情,请参阅 CocoaPods 入门指南。
$ sudo gem install cocoapods
第 3 步:使用 CocoaPods 安装 SDK
为 高德 iOS SDK 创建一个 Podfile,并使用它来安装 SDK。
1.在项目目录中(.xcodeproj)打开一个终端,创建一个名为 Podfile 文件。如果您尚未创建 Xcode 项目,请立即创建一个并将其保存到您的本地计算机。 (如果您第一次接触 iOS 开发,请创建一个Single View Application。)
$ touch Podfile
2.编辑 Podfile 文件,并保存。 Podfile文件如下:
target “YourProjectTarget” do
pod 'AMapLocation'
end
注意:pod 'AMapLocation' 命令还会引入基础 SDK ,涉及到提交AppStore成功与否,请点我查看基础 SDK 的介绍。
3.运行 pod install 命令安装SDK。
$ pod install
如果不能安装最新版 SDK 需要执行 pod repo update 命令更新本地 pod 库。
4.关闭 Xcode,然后打开(双击)您项目的 .xcworkspace 文件以启动 Xcode。 从此刻开始,您必须使用 .xcworkspace 文件打开项目。
第 4 步:获取高德Key
请前往高德开放平台控制台申请 iOS Key。
第 5 步:申请权限
定位权限(必选)
使用场景:
用户的实时定位获取,定位用户实际位置
具体配置:
配置方式可参考iOS定位SDK权限配置
使用定位SDK前需要引入基础SDK,具体配置可参考基础SDK介绍。
第 6 步:Hello,AMapLocation!
1.配置Info.plist 文件
由于需要申请定位权限,在 Info.plist 中加入 NSLocationAlwaysUsageDescription 字段。
2.配置高德Key至AppDelegate.m文件
将上面步骤获取的高德Key,配置到代码中,以保证定位功能的正常运行。代码如下:
#import <AMapFoundationKit/AMapFoundationKit.h>
//需要引入头文件
……
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
……
[AMapServices sharedServices].apiKey = @"您的Key";
……
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
AMapServices.shared().apiKey = APIKey
......
}
3.实现持续定位
代码如下:
#import <AMapLocationKit/AMapLocationKit.h>
//初始化AMapLocationManager对象,设置代理。
- (void)viewDidLoad
{
self.locationManager = [[AMapLocationManager alloc] init];
self.locationManager.delegate = self;
}
//调用AMapLocationManager提供的startUpdatingLocation方法开启持续定位。
[self.locationManager startUpdatingLocation];
//接收位置更新,实现AMapLocationManagerDelegate代理的amapLocationManager:didUpdateLocation方法,处理位置更新
- (void)amapLocationManager:(AMapLocationManager *)manager didUpdateLocation:(CLLocation *)location reGeocode:(AMapLocationReGeocode *)reGeocode
{
NSLog(@"location:{lat:%f; lon:%f; accuracy:%f}", location.coordinate.latitude, location.coordinate.longitude, location.horizontalAccuracy);
if (regeocode)
{
NSLog(@"reGeocode:%@", regeocode);
}
}
//初始化AMapLocationManager对象,设置代理。
override func viewDidLoad() {
locationManager = AMapLocationManager()
locationManager.delegate = self
}
//调用AMapLocationManager提供的startUpdatingLocation方法开启持续定位。
locationManager.startUpdatingLocation()
//接收位置更新,实现AMapLocationManagerDelegate代理的amapLocationManager:didUpdateLocation方法,处理位置更新
func amapLocationManager(_ manager: AMapLocationManager!, didUpdate location: CLLocation!, reGeocode: AMapLocationReGeocode?) {
NSLog("location:{lat:\(location.coordinate.latitude); lon:\(location.coordinate.longitude); accuracy:\(location.horizontalAccuracy);};");
if let reGeocode = reGeocode {
NSLog("reGeocode:%@", reGeocode)
}
}
第 7 步:连接 iOS 设备
了解您的应用实际运行情况的最简单方法是将 iOS 设备与计算机相连。在手机上信任您的开发者证书,并开启定位。
此外,您也可以使用 iOS 模拟器来运行您的应用。 Xcode 中自带了多种模拟器,您可以选择一种模拟器来构建和运行您的应用。
第 8 步:构建和运行您的应用
在 Xcode 中,点击 Product 菜单中 Run 选项(或 Run 按钮图标)运行您的应用。
后续步骤
您可能想观摩一些示例代码,可以前往示例代码下载官方示例Demo。
或者您也可以前往开发指南阅读更多相关内容。https://lbs.amap.com/api/ios-location-sdk/guide/create-project/foundation-sdk