准备工作
注册appkey (抖音开放平台)
集成sharesdk(下载地址)
Xcode配置:urlScheme为注册的appkey, 白名单:douyinsharesdk ,douyinopensdk
业务代码
初始化

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);    }}];