Иногда PHAsset.fetchAssets (with: options) возвращает ноль результатов - PullRequest
0 голосов
/ 21 декабря 2018

Иногда PHAsset.fetchAssets(with: options) ничего не возвращает при наличии изображений и разрешений .

Это нерегулярно и решается путем принудительного выхода и перезапуска приложения iOS.

Кто-нибудь еще сталкивался с этой проблемой?Я пропускаю что-то критическое, например: «Иногда вы не получите изображения обратно, потому что X?»

Вот мой код:

func load() {
    ProgressIndicatorView.show(onView: self.view)
    PhotosPermissions.tryGetPhotosPermission(
        didSucceed: { [weak self] in
            DispatchQueue.global(qos: .userInitiated).async {
                let options = PHFetchOptions()
                options.sortDescriptors = [NSSortDescriptor.init(key: "creationDate", ascending: false)]
                options.predicate = NSPredicate(format: "mediaType = %d || mediaType = %d", PHAssetMediaType.image.rawValue, PHAssetMediaType.video.rawValue)
                options.includeAllBurstAssets = false
                let fetchResults = PHAsset.fetchAssets(with: options)
                DispatchQueue.main.async {
                    self?._assets = fetchResults
                    self?.collectionView.reloadData()
                    print("Loaded \(fetchResults.count) images.")
                    ProgressIndicatorView.hide()
                }
            }
        },
        didFail: { [weak self] in
            ProgressIndicatorView.hide()
            self?.performSegue(withIdentifier: "OpenFormSegue", sender: self)
        }
    )
}

Когда происходит ошибка, строка журнала гласит:Loaded 0 images.

...