前言: 近日,滴滴出行正式上线了“开放平台”,即日起滴滴出行开放平台将对第三方应用、个人开发者全面开放SDK接口。第三方APP接入开放平台后将具备“打车功能”,用户可在第三方APP内直接使用滴滴呼叫出租车、快车、专车和代驾,无需下载安装滴滴出行APP。
看到这里 ,好多小伙伴 都安奈不住了(反正我是安奈不住了), 但是 ,到底使用起来 如何呢?
据悉,在前期试运行期间,滴滴出行开放平台SDK接口已被腾讯地图、微信、支付宝、高德地图、艺龙旅行、大众点评、墨迹天气等30家应用接入。至此,接入滴滴出行SDK和Webapp的应用总数已达300家。
废话了那么多 ,还是直接上手使用吧(づ。◕‿‿◕。)づ
准备工作
下载滴滴的 SDK 和 文档
文档附本文末
按照官方的说明,目前 SDK 支持
- 支持支付宝支付
- 支持拉起渠道历史订单等页面
- 支持请求”预估等待接驾时间”、”预估费用”等接口
- 支持请求”订单详情”、”取消订单”等接口
注册 开发者账户并创建应用
第一步不用说,大家也知道我们需要打开滴滴的开发者中心官网,注册账户之后,我们会看到让我们创建应用

此时我们创建一个新的应用,并等待滴滴官方审核


获取App id 和 Secret

引入工程
将下载好的 SDK 拖入工程

配置工程
注意
滴滴官方文档里面没有写添加Required background modes
添加完之后,然后你的app 如果在前台开启了GPS,切到后台后 依然会持续更新GPS 信息
这一项还有NSLocationAlwaysUsageDescription这一项.
添加到 info.plist 里面的字段
1、NSLocationAlwaysUsageDescription
2、NSLocationWhenInUseUsageDescription
这两个字段没什么特别的意思,
就是自定义提示用户授权使用地理定位功能时的提示语。如果不添加,当我们运行滴滴出行SDK的方法就崩溃

同时我们也要把Taeget - Build Settings - enable code 设置为NO

注意 :工程Build Settings里Other Linker Flags需要添加"-ObjC"项,以确保.framework里的类别能加载上
使用 SDK
在AppDelegate里面注册滴滴
#import "AppDelegate.h"
#import
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)
launchOptions {
[DIOpenSDK
registerApp:@"从滴滴获取到的appid"
secret:@"从滴滴获取到的secret"];
return YES;
}
在 ViewController 里面实现以下方法
- (void)viewDidLoad {
[super viewDidLoad];
UIButton *submitButton =
[UIButton buttonWithType:UIButtonTypeCustom];// set button type
submitButton.backgroundColor =[UIColor redColor];// set color
submitButton.frame =CGRectMake(0, 0, 100, 100);// set fram
submitButton.center =self.view.center;
submitButton.layer.cornerRadius = 10;//set corner
[submitButton setTitle:@"treney 滴滴打车"
forState:UIControlStateNormal];// set title
[submitButton addTarget:self action:
@selector(buttonAction)
forControlEvents:UIControlEventTouchUpInside];
// set target before Touch Up Inside
[self.view addSubview:submitButton];
}
-(void)buttonAction
{
DIOpenSDKRegisterOptions *options = nil;
[ DIOpenSDK showDDPage:self
animated:YES
params:options delegate:self];
}
愉快的叫车吧
效果图

一些注意事项
- 滴滴SDK依赖于微信支付,需要拉起微信,所以主工程中的plist中需要添加微信的 scheme
- framework需要使用定位权限,工程plist中需要添加定位配置,其中定位的提示文案可以自己设置。