首先,我這邊做的是將界面截圖保存到相冊(cè),獲取到相冊(cè)里面最后一張截圖的圖片再分享到抖音.以下是分享到抖音的調(diào)用代碼:
[YSBCommonTool getLastImageCallImageBack:^(PHAsset *asset) {
NSMutableArray<NSString *> *mediaLocalIdentifiers = [NSMutableArray array];
[mediaLocalIdentifiers addObject:asset.localIdentifier];
if (mediaLocalIdentifiers.count > 0) {
DouyinOpenSDKShareRequest *req = [[DouyinOpenSDKShareRequest alloc] init];
req.mediaType = DouyinOpenSDKShareMediaTypeImage;
req.shareAction = DouyinOpenSDKShareTypePublishMedia;
req.localIdentifiers = [mediaLocalIdentifiers copy];
req.landedPageType = DouyinOpenSDKLandedPageClip;
[req sendShareRequestWithCompleteBlock:^(DouyinOpenSDKShareResponse * _Nonnull Response) {
if (Response.isSucceed) {
NSLog(@"分享成功");
}else{
NSLog(@"分享失敗");
}
}];
}else{
NSLog(@"沒(méi)有獲取到圖片");
}
}];
以下是封裝的獲取相冊(cè)最后一張圖片
+ (void)getLastImageCallImageBack:(void (^)(PHAsset *asset))imageBlock {
PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
if (status == PHAuthorizationStatusRestricted || status == PHAuthorizationStatusDenied) {
NSLog(@"相冊(cè)權(quán)限未開(kāi)放");
[YSBCommonTool showAlertViewControllerWithTitle:@"無(wú)法訪問(wèn)相冊(cè)" andMessage:@"請(qǐng)?jiān)趇Phone的""設(shè)置-隱私-相冊(cè)""中允許訪問(wèn)相冊(cè)" andLeftBtnTitle:@"取消" andRightBtnTitle:@"設(shè)置" andLeftBtnAction:^(UIAlertAction * _Nonnull action) {
} andRightBtnAction:^(UIAlertAction * _Nonnull action) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:nil];
}];
return;
}
// 獲取最近的照片
PHAsset *asset = [YSBCommonTool latestAsset];
if (!asset) {
NSLog(@"相冊(cè)里沒(méi)有照片");
YSBToastInCenter(@"相冊(cè)里沒(méi)有照片");
return;
}
imageBlock(asset);
}
+ (PHAsset *)latestAsset {
// 獲取所有資源的集合,并按資源的創(chuàng)建時(shí)間排序
PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
PHFetchResult *assetsFetchResults = [PHAsset fetchAssetsWithOptions:options];
return [assetsFetchResults firstObject];
}