在如今这个时代,玩智能手机还没玩过抖音的人,想必可以用凤毛麟角来形容了。抖音的用户量如此巨大,你如果想你的作品能够让更多的人看到,那么用好这个平台将是个不错的主意!作为iOS开发者,我们可以用技术将自己App的一些优质内容,制作成视频之后,让用户一键分享到抖音,让用户有成就感的同时,还能免费帮我们宣传App,达到双赢的效果。那么如何在App中实现视频分享到抖音呢?别眨眼只需三板斧就可以轻松实现😁。
一、集成抖音SDk
//CocoaPods方式集成
pod 'DouyinOpenSDK'
二、检查是否安装了抖音App
- 白名单新增 snssdk1128
- 利用URL 来验证是否安装抖音App
if let url = URL(string: "snssdk1128://"),UIApplication.shared.canOpenURL(url)
{ //已安装
}
三、分享
- 第一步:引入头文件
import DouyinOpenSDK
- 第二步:构造分享的请求
let req = DouyinOpenSDKShareRequest.init()
- 第三步:设置分享参数
req.mediaType = .video
//发布页面
req.landedPageType = .publish
// 设置标题
let shareTitle = DouyinOpenSDKShareTitle()
shareTitle.text = "众里寻他千百度。蓦然回首,那人却在,灯火阑珊处"
req.title = shareTitle
//设置话题标签
req.hashtag = "#诗词#分享#HH思🈚️邪"
req.state = "XXXXX"
//设置分享的资源标示
req.localIdentifiers = [shareLocalID]
- 第四步:发送分享请求
req.send { respond in
YLLog("抖音\\(respond)")
if respond.isSucceed {
}else{
}
}
到这里,视频分享到抖音就完成了,接下来聊聊题外话,有个localIdentifier参数如果是第一次接触的话,那就可以接着看看下面的内容。
localIdentifier 资源标识
这个通俗点来说,就是相册中的每个资源的唯一标识,可以通过这个标识从相册中找到这个资源。
如何获取localid呢?
///保存视频到相册
///返回标识符:locaid
func vm_saveToPhotos(url:URL, successSave:@escaping ((_ locaid:String)->Void)){
var localId = ""
PHPhotoLibrary.shared().performChanges {
let result = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
let assetPlaceholder = result?.placeholderForCreatedAsset
localId = assetPlaceholder?.localIdentifier ?? ""
} completionHandler: { isSuccess, error in
if isSuccess {
successSave(localId)
YLLog("保存本地成功!id:\\(localId)")
}
}
}
优化体验,如果相册中已经存在分享视频,就不重复执行保存并获取localid的步骤
怎么做呢?
我们可以根据localid 判断相册中是否存在要分享的视频
func vm_isLocaSourceWithlocalid(localid: String) ->Bool{
let result = PHAsset.fetchAssets(withLocalIdentifiers: [localid], options: nil)
if result.count > 0 {
return true
}else{
return false
}
}
感谢你的阅读和参与,HH思无邪愿与你一起在技术的道路上不断探索。如果你喜欢这篇博客,不妨点个赞哦!如果你有任何问题或建议,也请在评论区留言,让我们一起进步!