选择应用类型
企业内部应用开发
学习地图
动态与公告
应用开发平台简介(新版)
应用开发平台简介
开发应用(新版)
开发应用
快速入门
开发小程序
开发H5微应用
创建H5微应用
配置H5微应用
配置JSAPI鉴权
接入H5微应用系统免登
发布H5微应用
设置应用的可使用范围
监控H5微应用
H5微应用开发参考
客户端SDK
图片缩放
前端组件 (Ding Design)
错误码说明
跳转协议
页面事件监听
移动客户端接入
接入钉钉分享
钉钉分享介绍
分享SDK下载
iOS分享SDK合规指南
iOS分享SDK接入流程
Android分享SDK合规指南
Android分享SDK接入流程
鸿蒙分享SDK合规指南
鸿蒙分享SDK接入流程
分享SDK常见问题
接入钉钉登录
客户端API总览
开发酷应用
服务端API
客户端API
事件订阅
参考
常见问题
历史文档

iOS分享SDK接入流程

更新于 2025-01-07本文介绍如何使用钉钉iOS分享SDK接入钉钉分享。

准备工作

在使用iOS接入钉钉分享之前,你需要完成以下准备工作:

  1. 搭建iOS开发环境。

  2. 下载SDK(版本号:3.1.0)。

    说明
  3. 安装钉钉客户端2.7.0及以上版本。

步骤一:接入钉钉分享

  1. 登录开发者后台,打开应用列表页,单击应用进入应用详情页。

  2. 在应用信息页面,获取应用的AppKey。

  3. 在应用详情页,单击钉钉登录与分享,进入登录与分享页面。

  4. 接入分享栏,单击右侧编辑

  5. 单击开启iOS 分享,然后输入iOS Bundle ID,最后单击保存。

    说明

    iOS Bundle ID应填写你的iOS应用对应的ID。

步骤二:配置iOS应用

  1. 将已下载的iOS SDK的framework导入到工程中。

  2. 配置工程。

    1. Other Linker Flags添加 -all_load选项。

    2. Custom iOS Target PropertiesLSApplicationQueriesSchemes列表中添加dingtalk、dingtalk-open。

      说明

      iOS系统限制LSApplicationQueriesSchemes最多只能有50个,超出部分有可能不生效。尤其是Xcode13打包,iOS15.0及以上,超出部分不生效。

    3. URL Types中配置以下信息。

      内容

      配置说明

      Identifier

      dingtalk

      URL Schemes

      填写步骤一中获取的AppKey。

    说明

    iOS9及以后的系统需要将钉钉和分享SDK的scheme配置在Info.plist。

步骤三:在代码中使用开发工具包

  1. 注册应用并添加必要的URLHandler。

    说明

    代码中的 [DTOpenAPl registerApp:@"appld"] 中的 appId 为应用的 Client ID(原应用 AppKey)。

    如示例中,在AppDelegate.m文件中引用AppDelegate.h,在@implementation AppDelegate中增加如下代码:

  2. 分享数据到钉钉客户端。

    发送分享请求的过程主要分为两部分:

    1. 组装DTMediaMessage对象。

      不同类型的分享数据通过DTMediaMessage的mediaObject区分。

      类型

      描述

      DTMediaTextObject

      纯文本数据。

      DTMediaImageObject

      纯图片数据。

      DTMediaWebObject

      Web页面数据。

    2. 调用+[DTOpenAPI sendReq:]发送数据。

    下面是分享文本部分代码,其他类型请参考 SDK 相关方法注释:

    Loading...
    说明

    • 分享纯图片数据和Web页面缩略图时,可以使用图片URL和图片Data两种形式,钉钉内优先使用图片Data形式。

    • 分享数据的数据量限制在SDK的头文件中均有描述,超过限制的数据不会发送到钉钉客户端。

  3. 判断当前设备是否支持分享到钉钉。

    钉钉从2.7版本开始支持分享,SDK中提供了接口来判断当前设备是否能够支持分享到钉钉。

    Loading...
    说明

    在iOS9上需要将钉钉SDK相关的Scheme注册到Info.plist的LSApplicationQueriesSchemes名单中,否则会导致检测方法总是返回NO。

点击纠错