使用iOS 8上的Photos Framework查找内部(照片库)iOS设备中的照片和视频的大小

时间:2016-03-10 05:11:23

标签: objective-c ios9 photos photosframework assetslibrary

直到iOS 7,我们使用资产库框架来获取iOS设备中照片和视频的总大小,请看这里: How to find total size for images and videos inside photo library in iOS

任何人都可以帮助我使用照片框架做同样的事情,因为不推荐使用资产库框架。如果以更快的方式存在大量照片,如何计算总大小。 你可以在这个应用程序中看到: MobiShield for iPhone如果你去更多>磁盘你可以看到开发人员在2秒内计算总照片大小和视频大小。我怎样才能做到这一点?在Objective - C。

2 个答案:

答案 0 :(得分:0)

用户照片资产(我尚未使用,但这是IOS 8的要求)或已弃用但仍在使用当前版本的ALASSETS,这将为您提供文件信息。

答案 1 :(得分:0)

使用这些:

$fp = fopen($_SERVER['DOCUMENT_ROOT'] . "/filename.txt","w");

}

- (NSUInteger)updateVideoCount
{
    ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];
    if (status==ALAuthorizationStatusDenied) {
        [self goToSettingsAlert];
    }
videoCount = 0;
totalVideoSize = 0;

ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc] init];

[assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
    [group setAssetsFilter:[ALAssetsFilter allVideos]];
    [group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop) {
        if (asset)
        {
            NSString *type = [asset  valueForProperty:ALAssetPropertyType];
            if ([type isEqualToString:ALAssetTypeVideo])
            {
                videoCount++;

                ALAssetRepresentation *rep = [asset defaultRepresentation];
                totalVideoSize += rep.size;
            }

        }
        else
        {

        }
    }];
    if(group==nil)
    {
        [self loadTable];
        descTable.hidden = NO;
        [descTable reloadData];
    }
} failureBlock:^(NSError *error) {
}];

return 0;