iOS分享SDK接入流程
更新于 2025-01-07本文介绍如何使用钉钉iOS分享SDK接入钉钉分享。
准备工作
在使用iOS接入钉钉分享之前,你需要完成以下准备工作:
搭建iOS开发环境。
下载SDK(版本号:3.1.0)。
说明iOS DTShareSDK部署系统版本为 iOS 12.0 及以上。
下载并使用本SDK,即表示您已阅读并同意《钉钉开放平台开发者服务协议》、《钉钉开放平台隐私权政策》。
安装钉钉客户端2.7.0及以上版本。
步骤一:接入钉钉分享
登录开发者后台,打开应用列表页,单击应用进入应用详情页。
在应用信息页面,获取应用的AppKey。
在应用详情页,单击钉钉登录与分享,进入登录与分享页面。
在接入分享栏,单击右侧编辑。
单击开启iOS 分享,然后输入iOS Bundle ID,最后单击保存。
说明iOS Bundle ID应填写你的iOS应用对应的ID。
步骤二:配置iOS应用
将已下载的iOS SDK的framework导入到工程中。
配置工程。
在Other Linker Flags添加
-all_load
选项。在Custom iOS Target Properties的LSApplicationQueriesSchemes列表中添加dingtalk、dingtalk-open。
说明iOS系统限制LSApplicationQueriesSchemes最多只能有50个,超出部分有可能不生效。尤其是Xcode13打包,iOS15.0及以上,超出部分不生效。
在URL Types中配置以下信息。
内容
配置说明
Identifier
dingtalk
URL Schemes
填写步骤一中获取的AppKey。
说明iOS9及以后的系统需要将钉钉和分享SDK的scheme配置在Info.plist。
步骤三:在代码中使用开发工具包
注册应用并添加必要的URLHandler。
说明代码中的
[DTOpenAPl registerApp:@"appld"]
中的 appId 为应用的 Client ID(原应用 AppKey)。如示例中,在AppDelegate.m文件中引用
AppDelegate.h
,在@implementation AppDelegate中增加如下代码:分享数据到钉钉客户端。
发送分享请求的过程主要分为两部分:
组装DTMediaMessage对象。
不同类型的分享数据通过DTMediaMessage的mediaObject区分。
类型
描述
DTMediaTextObject
纯文本数据。
DTMediaImageObject
纯图片数据。
DTMediaWebObject
Web页面数据。
调用
+[DTOpenAPI sendReq:]
发送数据。
下面是分享文本部分代码,其他类型请参考 SDK 相关方法注释:
Loading...说明分享纯图片数据和Web页面缩略图时,可以使用图片URL和图片Data两种形式,钉钉内优先使用图片Data形式。
分享数据的数据量限制在SDK的头文件中均有描述,超过限制的数据不会发送到钉钉客户端。
判断当前设备是否支持分享到钉钉。
钉钉从2.7版本开始支持分享,SDK中提供了接口来判断当前设备是否能够支持分享到钉钉。
Loading...说明在iOS9上需要将钉钉SDK相关的Scheme注册到Info.plist的LSApplicationQueriesSchemes名单中,否则会导致检测方法总是返回NO。




