抖音分享和授权(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);
        }
    }];
相关文章
|
开发工具 iOS开发
ios授权登录sdk分享(不包含支付功能)
说明:   为了解决开发者在ios中使用支付宝授权接口产品上架问题,所以推出授权登录相关sdk(不包含支付功能) 如果商户有使用到支付宝登录授权功能接口,可以参考使用。   ios SDK:AFAuthSDK.
661 0
|
iOS开发
iOS 8相机授权判断
最近在做自定义相机,然后就是iOS8要授权才能使用,如果用户拒绝,那么,就不能操作。 问题是,怎么知道用户第一次选择相机,并且应用有打开相机的权限? // 在iOS7 时,只有部分地区要求授权才能打开相机 if (floor(NSFoundationV...
604 0
|
27天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
83 3
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
3月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
38 0
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
89 2
|
3月前
|
API 开发工具 iOS开发
iOS 开发高效率工具包:10 大必备工具
iOS 开发高效率工具包:10 大必备工具
42 1
|
3月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
52 1
|
1天前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
【4月更文挑战第18天】**Cocoa Touch** 是iOS和Mac OS X应用的核心框架,包含面向对象库、运行时系统和触摸优化工具。它提供Mac验证的开发模式,强调触控接口和性能,涵盖3D图形、音频、网络及设备访问API,如相机和GPS。是构建高效iOS应用的基础,对开发者至关重要。
8 0