gpt4 book ai didi

iOS 照片框架无法获取图像数据/UTI

转载 作者:行者123 更新时间:2023-11-29 01:58:12 27 4
gpt4 key购买 nike

当从 Photos Framework 请求图像时,我设法正确获取了除最后 64 之外的所有图像。对于以下代码中的 dataUTIimageData,最后一个总是返回 nil。在试图弄清楚发生了什么时,我发现 PHAsset 确切地知道 UTI 是什么,但向我报告它为 nil。

还有人看过吗?

你可以看到我已经让我的代码访问 Assets 的 UTI,当它被报告为 nil 时,这样我的应用程序可以确定它是否是一个 gif,但这不是一个可取的方法,我从来没有得到 imageData 无论如何,所以这不是一个很大的帮助!

PHFetchOptions* fetchOptions = [[PHFetchOptions alloc] init];
fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options: fetchOptions];

[allPhotosResult enumerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop) {

PHImageRequestOptions* options = [[PHImageRequestOptions alloc] init];
options.synchronous = NO;
options.networkAccessAllowed = YES;
options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;

[[PHImageManager defaultManager] requestImageDataForAsset: asset options: options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
NSString* val = [asset valueForKey: @"uniformTypeIdentifier"];
if( !dataUTI )
{
dataUTI = val;
}
}];
}];

编辑:我忘了提到丢失的图像创建日期不是最新的图像,而且似乎分散了。实际上,根据它们的创建日期,即使是照片应用程序似乎也不会显示它们。但似乎没有什么是 应该 的,因为他们的位置是看他们的创作日期所在的相邻图像。

最佳答案

这里没有太多的答案,很高兴有人能乐于解释它!

查看丢失 Assets 的创建日期,我设法在我的应用程序中丢失的照片应用程序中找到了一个。它有一个缩略图,但是当我选择它时,它会使用循环下载指示器来下拉数据,然后尝试在我的应用程序的 Action Extension 中打开它(让您在照片应用程序或其他地方预览 gif 动画)出现一个弹出窗口说准备它时出错。我以前没见过,但显然 iCloud 出了点问题。

以前我在我的应用程序中请求 PHImageRequestOptionsVersionUnadjusted 但将其切换为 PHImageRequestOptionsVersionOriginal 似乎已经修复了它......?

关于iOS 照片框架无法获取图像数据/UTI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30613492/

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