Кажется, у меня случайная проблема, о которой я не знаю, почему это происходит. Кажется, я не могу заставить photoLibraryDidChange:(PHChange *)changeInstance
вызывать наблюдатель. Я сделал несколько пустых проектов, и все они демонстрируют эту проблему, наблюдателю за изменениями иногда нужно будет приступить к первоначальной установке приложения, но он никогда не вызывается после того, как я выполняю изменения в приложении «Фотографии». Я также сбросил симулятор безрезультатно. Буду признателен за любую помощь.Наблюдатель изменений PHPhotoLibrary не называется
Код:
#import <UIKit/UIKit.h>
#import <Photos/Photos.h>
@interface ViewController : UIViewController <PHPhotoLibraryChangeObserver>
@end
- (void)viewDidLoad
{
[super viewDidLoad];
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status)
{
if (status == PHAuthorizationStatusAuthorized)
{
[PHPhotoLibrary.sharedPhotoLibrary registerChangeObserver:self];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0),^
{
[self setup];
});
}
}];
}
- (void)setup
{
PHFetchOptions *fetchOptions = [[PHFetchOptions alloc]init];
fetchOptions.wantsIncrementalChangeDetails = YES;
PHFetchResult *smartAlbumsFetchResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:fetchOptions];
for (PHAssetCollection *sub in smartAlbumsFetchResult)
{
PHFetchResult *fetch = [PHAsset fetchAssetsInAssetCollection:sub options:fetchOptions];
}
}
- (void)photoLibraryDidChange:(PHChange *)changeInstance
{
NSLog(@"Not called");
}
- (void)dealloc
{
[PHPhotoLibrary.sharedPhotoLibrary unregisterChangeObserver:self];
}
О чем вы говорите. Я иду в приложение «Фотографии» и любимый, непривлекательный и удаляю стоковые изображения. – klcjr89
Вы не следуете? Нет кода. Это манипулирует в приложении «Фотографии», которое, как предполагается, не уведомляет вас об изменениях. – klcjr89
@matt Да, я создал пустой проект с одним представлением, в котором ничего не найдено, чтобы понять, почему он сейчас не работает. Не будучи грубым, он работал для меня последние несколько дней, но не сейчас. – klcjr89