2017-02-07 6 views
0

는 내가 creationDate어떻게 PHAsset에서 creationDate의 두 가지 다른 달력 유형이 있습니까?

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입니다. 이로 인해 정렬을 통해 부처 달력이있는 이미지를 잘못 끝에 정렬 할 수 있습니다.

나는 내가이 문제를 해결하기 위해 올바른 2017년 어쨌든

있어 modificationDate에서 그것을 볼 수는이 때문에 바로 이유 않을 때?

UPDATE 때문에 사진에서

봐 나에게 애플 버그 같은 그 이미지가 3천1백3년에되는 앱 ...

답변

0

에는 애플 버그가 없습니다. 잘못된 날짜 정보가 이미지에 저장됩니다. NSDate는 일정에 연결되지 않습니다. 1970 년 이후로 초 단위의 단순한 래퍼로 생각할 수 있습니다. 로그에는 다른 달력을 사용하여 인쇄하지 않습니다. 날짜에는 달력이 없습니다. 이미지의 날짜는 미래에 그레고리오 년 2560 - 543 년입니다.

프로그래머가 캘린더와 날짜의 차이를 이해하지 못하고 이미지의 메타 데이터에 잘못된 날짜 정보를 저장했다고 생각합니다. 이 이미지의 출처는 무엇입니까?

+0

나는이 사진들이 카메라 앱에서 가져온 것이라고 믿는다. – SaintTail