MCDingTalk 1.0.1

MCDingTalk 1.0.1

Ma Jiancheng 维护。



  • -by
  • littleplayer

MCDingTalk

钉钉(DingTalk)分享、授权SDK

用法

  1. Info.plist 配置查询钉钉授权登录 scheme 权限。在 LSApplicationQueriesSchemes 中添加 dingtalk、dingtalk-open、dingtalk-sso。dingtalk 用于查询是否安装钉钉。dingtalk-open 用于查询是否支持开放平台接口调用(不需要查询开放平台接口可不填)。dingtalk-sso 用于查询是否支持授权登录。注:iOS 系统限制 LSApplicationQueriesSchemes 最多只能有 50 个,超过则可能有一部分不生效。如图: undefined

  2. Info.plist 的 URL Types 中增加 appId,用于钉钉 App 返回回调。 undefined

  3. app 启动时注册 appId。示例代码

// 在app启动时注册appId
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 注册AppId;
    [DTOpenAPI registerApp:#该应用的appId#];
    return YES;
}
  1. 发起授权登录。示例代码
DTAuthorizeReq *authReq = [DTAuthorizeReq new];
authReq.bundleId = #该应用的bundleId#;
  1. 处理回调。示例代码
// 在app delegate链接处理回调中调用钉钉回调链接处理方法
- (BOOL)application:(UIApplication *)application
            openURL:(nonnull NSURL *)url
  sourceApplication:(nullable NSString *)sourceApplication
         annotation:(nonnull id)annotation
{
    if ([DTOpenAPI handleOpenURL:url delegate:self]) {
        return YES;
    }
 
    return NO;
}
// delegate实现回调处理方法 onResp:
- (void)onResp:(DTBaseResp *)resp
{
  //授权登录回调参数为DTAuthorizeResp,accessCode为授权码
    if ([resp isKindOfClass:[DTAuthorizeResp class]]) {
        DTAuthorizeResp *authResp = (DTAuthorizeResp *)resp;
        NSString *accessCode = authResp.accessCode;
		// 将授权码交给服务端做SSO
    }
}

更新

1.0.1 更新依赖方式(pod版),支持最新的sdk

作者

littleplayer [email protected]

许可证

MCDingTalk 程序可供 MIT 许可证使用。更多信息请参阅 LICENSE 文件。