我的应用程序正在使用“ALAssetsGroup”来跟踪用户相册
我在我的应用程序中显示这些相册 用户可以单击相册并查看图像。
现在,当用户通过safari下载图像或以任何方式更改相册时,问题就出现了。
我的应用程序仍然引用旧相册而不是新相册 所以我尝试使用
刷新相册- (void)applicationWillEnterForeground:(UIApplication *)application
但是专辑似乎仍旧有价值, 如果我再次在应用程序内刷新它们,它们就会得到正确的值。
还有什么我可以用来解决这个问题..? 也许是通知..?
答案 0 :(得分:2)
//This Registers a Notification for any changes
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didChangeLibrary:)
name:ALAssetsLibraryChangedNotification
object:[AGImagePickerController defaultAssetsLibrary]];
- (void)didChangeLibrary:(NSNotification *)notification
{
//Enter some code here to deal with the album changing
}
编辑:似乎这在iOS 5上不起作用(已经为Apple打开了雷达,因为这是一个错误)。
这是一个同时使用的工作:
致电
[self.assetsLibrary writeImageToSavedPhotosAlbum:nil metadata:nil
completionBlock:^(NSURL *assetURL, NSError *error) { }];
创建ALAssetsLibrary观察后立即观察 ALAssetsLibraryChangedNotification(不是 NSManagedObjectContextObjectsDidChangeNotification)
答案 1 :(得分:0)
使用ApplicationDelegate中的applicationDidBecomeActive
方法
- (void)applicationDidBecomeActive:(UIApplication *)application
{
/*
Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
*/
}