У меня есть этот код, который попытается извлечь все изображения сортировки по creationDate
Почему у меня есть два разных типа calendarDate в PHAsset?
PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.sortDescriptors = @[
[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:YES],
];
switch (type) {
case MMAssetsPhoto:{
fetch = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:options];
break;
}
case MMAssetsVideo:{
options.includeAssetSourceTypes = PHAssetSourceTypeiTunesSynced | PHAssetSourceTypeCloudShared | PHAssetSourceTypeUserLibrary | PHAssetSourceTypeNone;
fetch = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:options];
break;
}
default:{
options.includeAssetSourceTypes = PHAssetSourceTypeUserLibrary;
fetch = [PHAsset fetchAssetsWithOptions:options];
break;
}
}
[fetch enumerateObjectsUsingBlock:^(PHAsset * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
EkoLog(@"=======");
EkoLog(@"asset %@", obj);
EkoLog(@"create date %@", obj.creationDate);
EkoLog(@"modification date %@", obj.modificationDate);
}];
но это бревно я для некоторых изображений
=======
asset <PHAsset: 0x10d075bd0> D27FB9E1-53F0-4884-A0EA-C6E839A6A0FB/L0/001 mediaType=1/0, sourceType=1, (4032x3024), creationDate=2017-01-05 11:54:50 +0000, location=0, hidden=0, favorite=0
create date 2017-01-05 11:54:50 +0000
modification date 2017-01-05 11:54:50 +0000
=======
asset <PHAsset: 0x10d075d20> 18EA7D99-9FB7-4941-9E7A-E0C68F5F791B/L0/001 mediaType=1/0, sourceType=1, (4032x3024), creationDate=2560-01-05 14:03:59 +0000, location=0, hidden=0, favorite=0
create date 2560-01-05 14:03:59 +0000
modification date 2017-01-05 14:04:00 +0000
=======
asset <PHAsset: 0x10d075e70> 41871302-553F-4BF0-AA8C-E6AC177E0068/L0/001 mediaType=1/0, sourceType=1, (3024x4032), creationDate=2560-01-05 14:15:57 +0000, location=0, hidden=0, favorite=0
create date 2560-01-05 14:15:57 +0000
modification date 2017-02-04 21:08:48 +0000
Как вы заметили, есть некоторые изображения, которые получил creationDate
до 2560
, который является годом 2017
в буддийском календаре. Это приводит к тому, что сортировка позволяет упорядочить изображения с календарем буддиста в конце, что является неправильным.
Я не почему это правильно, потому что это, когда я вижу его из modificationDate
я получил правильный 2017
год
Во всяком случае, чтобы решить эту проблему?
UPDATE
Посмотрите, как Apple, ошибка для меня, потому что в приложении Фотографии эти изображения в 3103 году ...
Я считаю, что эти снимки взяты из встроенного приложения для камеры – SaintTail