如何在后台接收 iOS 4 中的 ALAssetsLibrary 更改通知

Posted

技术标签:

【中文标题】如何在后台接收 iOS 4 中的 ALAssetsLibrary 更改通知【英文标题】:How to receive ALAssetsLibraryChangedNotification in iOS 4 while in background 【发布时间】:2011-04-28 05:25:29 【问题描述】:

我想将我的 ios 4 应用注册为 ALAssetsLibraryChangedNotification 的观察者,并在相机胶卷和照片库发生更改时接收通知。最明显的场景是: 1) 我的应用使用 ALAssetsLibrary 枚举照片内容。 2)离开我的应用程序(进入后台)并启动相机应用程序。 3) 拍照。 4) 离开相机应用并返回我的应用。

我希望 ALAssetsLibraryChangedNotification 会在我的应用返回前台时交付,但似乎并非如此。我已经尝试过 addObserver 的块和选择器形式。当我的应用在后台添加或删除照片时,如何接收通知?

【问题讨论】:

【参考方案1】:

我通过遍历 ALAssetsLibrary 并使用 [[asset defaultRepresentation] url] 存储所有资产 URL 来处理此问题。当我的应用程序变得活跃时,我再次浏览 ALAssetsLibrary,检查我存储的列表。但请注意,iOS 4.x 和 iOS 5 之间的 URL 格式会发生变化。

【讨论】:

以上是关于如何在后台接收 iOS 4 中的 ALAssetsLibrary 更改通知的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios Objective c 中检查推送通知是不是在后台模式下接收?

接收后台通知iOS Swift 5(无正文和标题)

iOS 5 - ALAssets 库 - 将视频的 URL 从资产转换为 NSDATA 文件

如何在没有用户交互的情况下在后台接收 iOS 通知

如何在 iOS 后台运行服务以接收本地通知?

在 iOS 4.2.1 中在后台即时处理网络事件