抖音分享和授权(iOS)

简介: 准备工作 注册appkey 抖音开放平台 集成sharesdk 下载地址 Xcode配置:urlScheme为注册的appkey, 白名单:douyinsharesdk ,douyinopensdk 业务代码 初始化 #import <ShareSDK/ShareSDK.
+关注继续查看

准备工作

业务代码

初始化

#import <ShareSDK/ShareSDK.h>
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
    //抖音
    [platformsRegister setupDouyinByAppKey:@"app_key" appSecret:@"app_secret"];
}];

分享

可以分享图片,相册图片,单个视频,多个视频

分享图片

// 通用参数设置----图片分享可以使用相册地址、沙盒路径、网络图片地址
NSString *imageURL = @"http://img.hb.aicdn.com/28a4962c297205e0868cdb45bb527e2bc5319f08f019-l7N1A3_fw658";
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
[parameters SSDKSetupShareParamsByText:nil
                                images:@[imageURL]
                                   url:nil
                                 title:nil
                                  type:SSDKContentTypeImage];
                                  
[ShareSDK share:SSDKPlatformTypeDouyin parameters:shareParams onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
    if (state == SSDKResponseStateSuccess) {
        NSLog(@"成功!");
    }else{
        NSLog(@"%@",error);
    }
}];

分享视频

// 通用参数设置----视频分享可以使用相册地址、沙盒路径,不支持网络视频,如果使用网络视频请先下载放到沙盒目录下或相册里
    NSString *videoPath = [[NSBundle mainBundle] pathForResource:@"cat" ofType:@"mp4"];
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
    [parameters SSDKSetupShareParamsByText:nil
                                    images:nil
                                       url:[NSURL URLWithString:videoPath]
                                     title:nil
                                      type:SSDKContentTypeVideo];
                                      
    [ShareSDK share:SSDKPlatformTypeDouyin parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
        if (state == SSDKResponseStateSuccess) {
            NSLog(@"成功!");
        }else{
            NSLog(@"%@",error);
        }
    }];

分享多个视频

 // 平台定制----只能使用相册且使用相册标识localIdentifier
    __block NSMutableArray *assetLocalIds = [NSMutableArray array];
    __weak typeof(self) weakSelf = self;
    
    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
        
        NSURL *url_1 = [[NSBundle mainBundle] URLForResource:@"cat" withExtension:@"mp4"];
        NSURL *url_2 = [[NSBundle mainBundle] URLForResource:@"cat" withExtension:@"mp4"];
        
        PHAssetChangeRequest *req_1 = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:url_1];
        NSString *localId_1 = req_1.placeholderForCreatedAsset.localIdentifier;
        [assetLocalIds addObject:localId_1];
        
        PHAssetChangeRequest *req_2 = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:url_2];
        NSString *localId_2 = req_2.placeholderForCreatedAsset.localIdentifier;
        [assetLocalIds addObject:localId_2];
        
    } completionHandler:^(BOOL success, NSError * _Nullable error) {
        if (success) {
            dispatch_async(dispatch_get_main_queue(), ^{
                NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
                [parameters SSDKSetupDouyinParamesByAssetLocalIds:assetLocalIds type:SSDKContentTypeVideo];
                
                [ShareSDK share:SSDKPlatformTypeDouyin parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
                    if (state == SSDKResponseStateSuccess) {
                        NSLog(@"成功!");
                    }else{
                        NSLog(@"%@",error);
                    }
                }];
            });
        }
    }];

授权

[ShareSDK authorize:SSDKPlatformTypeDouyin settings:nil onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {
        if (state == SSDKResponseStateSuccess)
        {
            NSLog(@"%@",[user.credential rawData]);
            NSLog(@"%@",user.rawData);
           
        }
        else
        {
            NSLog(@"%@",error);
        }
    }];
相关文章
|
1天前
|
iOS开发
iOS开发 GET、POST请求方法:NSURLSession篇
iOS开发 GET、POST请求方法:NSURLSession篇
6 0
|
2月前
|
开发框架 Dart 开发工具
使用Flutter开发一套可同时运行在Android和iOS平台的代码
Flutter是一种跨平台移动应用开发框架,它允许开发者使用单一代码库构建高性能、美观且可在多个平台上运行的应用程序。本文将介绍如何使用Flutter开发一套同时适用于Android和iOS平台的代码。
|
2月前
|
iOS开发
iOS开发中使用第三方静态字体
iOS开发中使用第三方静态字体
|
3月前
|
Android开发 iOS开发 开发者
uniapp开发ios应用证书获取方法和安装教程
ios应用无法像安卓应用那样直接从自己的服务器下载app安装而无需进行额外的设置,ios的安装要相对复杂一些。 ios的安装,是根据苹果开发者账号类型,根据证书和证书profile文件的不同,安装方法都有所不同的。主要是下面三种安装方法
239 0
|
4月前
|
Java 数据安全/隐私保护 iOS开发
Windows 平台上也可以进行 iOS App 的开发
为了将 iOS APP 上架至 App Store,我们需要准备以下基本需求资料:1. 苹果开发者账号(如果还没有账号,需要先申请,可以参考苹果开发者账号申请教程)
|
4月前
|
iOS开发
iOS开发 自拍及照片镜面翻转问题解决办法
iOS开发 自拍及照片镜面翻转问题解决办法
110 0
|
4月前
|
移动开发 JavaScript 安全
iOS开发-用keychain替代UDID
随着H5技术和VUE技术的流行,现在越来越多人喜欢试用hbuilder、uniapp或apicloud这些框架或工具来生成ios的app,这些工具会帮我们生成一个ipa文件。
|
4月前
|
安全 JavaScript 网络安全
ios APP最新iOS开发上架测试教程
本文详细介绍最新的在windows上进行ios app开发编译打包安装到手机测试的完整流程。介绍ios开发经常遇到的问题和解决方法,包括ios开发证书,ios开发描述文件等。
|
4月前
|
存储 安全 数据安全/隐私保护
iOS开发之打包上传到App Store——(一)各种证书的理解
OK,有日子没写iOS开发的相关文章啦,主要是最近的精力都没在这上面,不过既然产品已经快要出来了,就有必要了解一下各种证书啥的(众所周知iOS的一堆证书可是很让人头大呀),最近确实被这个搞得头大,然后就决定参考网上的一些资料,进行一下整理,留作一个备份。
|
4月前
|
设计模式 编解码 缓存
100个iOS开发面试题汇总
关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的好机会。
相关产品
云迁移中心
推荐文章
更多