gpt4 book ai didi

ios - PHImageManager 的方法 "requestImageDataForAsset"在 Swift 中导致崩溃

转载 作者:IT王子 更新时间:2023-10-29 05:44:13 34 4
gpt4 key购买 nike

我正在使用 PHImageManagers 的 requestImageDataForAsset 来计算相机胶卷中特定照片的内存大小。它在我的设备上运行良好,但一些用户在计算内存大小(通过分析和崩溃报告发现)后出现大量崩溃。

code and crash report

请帮忙。

最佳答案

它在哪个 iOS 版本上崩溃,似乎在 iOS 8.3 中对我来说工作正常,如果你使用相同的过程来获取图像元数据或内存大小:-

--------------------------------------------------------------
-- get the UIImage instance from a PHAsset
--------------------------------------------------------------

- (UIImage*)grabImageFromAsset:(PHAsset *)asset
{
__block UIImage *returnImage;
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.synchronous = YES;
[[PHImageManager defaultManager] requestImageForAsset:asset
targetSize:CGSizeMake(200, 200)
contentMode:PHImageContentModeAspectFill
options:options
resultHandler:
^(UIImage *result, NSDictionary *info) {
returnImage = result;
}];
return returnImage;
}

--------------------------------------------------------------
-- get the metadata of the image from a PHAsset
--------------------------------------------------------------

- (NSDictionary *)grabImageDataFromAsset:(PHAsset *)asset
{
__block NSMutableDictionary *imageAssetInfo = [NSMutableDictionary new];
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
options.synchronous = YES;
[[PHImageManager defaultManager] requestImageDataForAsset:asset
options:options
resultHandler:
^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
if ([info[@"PHImageResultIsInCloudKey"] isEqual:@YES]) {
// in the cloud
NSLog(@"in the cloud (sync grabImageDataFromAsset)");
}
imageAssetInfo = [info mutableCopy];
if (imageData) {
imageAssetInfo[@"IMAGE_NSDATA"] = imageData;
}
}];
return imageAssetInfo;
}

我正在关注我的照片套件操作的链接:- phimagemanagerios-8-photokit

关于ios - PHImageManager 的方法 "requestImageDataForAsset"在 Swift 中导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30104593/

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