gpt4 book ai didi

uiactivityviewcontroller - 如何使用UIActivityViewController共享PHAsset?

转载 作者:行者123 更新时间:2023-12-02 04:36:50 27 4
gpt4 key购买 nike

我现在尝试通过 UIActivityViewController 共享 Phasset(视频或图像)。

据我所知,我曾经通过向数组提供 url 并像这样使用来共享位于文档目录中的图像或视频

[[UIActivityViewController alloc] initWithActivityItems:m_arryContents applicationActivities:nil];

但我不知道如何共享阶段集。

我想共享阶段集而不下载或导出到我的文档文件夹。

有办法吗?

谢谢。

最佳答案

我使用以下方法:

NSArray *selectedIndexPaths = [self.collectionView indexPathsForSelectedItems];

NSMutableArray *activityItems = [NSMutableArray array];

// image Loader
PHImageManager *im = [PHImageManager defaultManager];
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.synchronous = YES;
options.version = PHImageRequestOptionsVersionCurrent;
options.deliveryMode = PHImageRequestOptionsDeliveryModeOpportunistic;
options.resizeMode = PHImageRequestOptionsResizeModeNone;

for (NSIndexPath *index in selectedIndexPaths)
{
// load image
[im requestImageDataForAsset:self.assetsFetchResults[index.item] options:options resultHandler:^(NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info)
{
[activityItems addObject:imageData];
}];
}

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
// prevent sharing to gallery again
activityVC.excludedActivityTypes = @[UIActivityTypeSaveToCameraRoll];

首先,我尝试对文件使用 NSURL,但这不适用于每个共享扩展(例如,邮件不起作用,但 imessage 起作用...)所以我最终分享了图像的 NSData。

注意:self.assetsFetchResults 是一个 PHFetchResults,在这里通过访问我喜欢共享的 PHAssets 使用,就像一个简单的 NSArray 一样。

注2:我的 PHFetchResults 中只有本地镜像!

关于uiactivityviewcontroller - 如何使用UIActivityViewController共享PHAsset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36741091/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com