【发布时间】:2014-03-06 21:27:47
【问题描述】:
我研究了 iOS 7 的后台同步和多任务处理功能。想不通的是可以上传用相机应用拍摄的新照片。
在后台上传文件的部分并不是最难的部分,但我必须使用什么代表来检测照片是否被拍摄并上传这张特定的最新照片?
【问题讨论】:
标签: ios background camera sync
我研究了 iOS 7 的后台同步和多任务处理功能。想不通的是可以上传用相机应用拍摄的新照片。
在后台上传文件的部分并不是最难的部分,但我必须使用什么代表来检测照片是否被拍摄并上传这张特定的最新照片?
【问题讨论】:
标签: ios background camera sync
我认为你可以使用 Photos Framework 来做到这一点。如果编辑或添加了一张照片,则有一个委托方法来回调。
First Photos Framework 仅支持 iOS8+;
@import 照片;
实现PHPhotoLibraryChangeObserver协议;
- (void)photoLibraryDidChange:(PHChange *)changeInstance {
if (![collectionChanges hasIncrementalChanges] || [collectionChanges hasMoves]) {} else {}
}
【讨论】:
如果我理解正确,您想要做的只是在 iOS 上无法完成(Apple 安全限制)。
如果您想在每次用户使用相机应用(相机应用中内置的操作系统)拍照时上传照片,您必须实施文件夹扫描等操作,以检测照片文件夹中是否有新图像。这将需要访问完整的文件系统,包括所有应用程序的文件,由于沙盒限制,这无法完成。
在 iOS 中,每个应用程序都有自己的目录,您只能写入该目录。访问外部文件总是被拒绝(除非您是越狱手机上的超级用户)。
阅读有关 iOS 沙盒的更多信息:
所以您可以在 iOS 上做的就是打开一个相机选择器视图并允许用户拍照。之后,您可以轻松访问照片并将其上传到您的服务器。在下面的链接中阅读更多信息:
【讨论】: