应用程序重新启动时照片丢失并取消固定
Posted
技术标签:
【中文标题】应用程序重新启动时照片丢失并取消固定【英文标题】:Photo is lost and Unpinned when app restarts 【发布时间】:2015-08-26 08:07:37 【问题描述】:我正在使用 Parse pinInBackground
功能保存稍后将与 parse 同步的信息,但该信息的一部分是已拍摄的照片,但是当我在信息与 Parse 同步之前重新启动应用程序时,图像丢失。
重新启动应用程序后如何不丢失图片。
我必须将其保存在本地吗?如果是这样,在哪里以及如何?
提前谢谢你,如果需要我的任何代码,请告诉我。
//Here I pin the picture in the background
@IBAction func cameraButton(sender: AnyObject)
imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .Camera
presentViewController(imagePicker, animated:true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject])
let pickedImage:UIImage = info[UIImagePickerControllerOriginalImage] as! UIImage
let imageData = UIImageJPEGRepresentation(pickedImage, 0.5)
let imageFile:PFFile = PFFile(data: imageData)
locationLogs["photo"] = imageFile
locationLogs.pinInBackgroundWithBlock (success: Bool, error: NSError?) -> Void in
if (success)
self.locationManager.stopUpdatingLocation()
else
println("error= \(error)")
imagePicker.dismissViewControllerAnimated(true, completion: nil)
//Query it
func queryAll()
let query = PFQuery(className:"LocationLogs")
query.fromLocalDatastore()
query.findObjectsInBackgroundWithBlock( (NSArray results, NSError error) in
if error == nil && results != nil
println("array = \(results)" )
self.tableData = results!
self.loggedItemsTableView.reloadData()
else
println("An error has occured= \(error)")
)
//Save and unpin it
@IBAction func syncAllButton(sender: AnyObject)
PFObject.saveAllInBackground(self.tableData as [AnyObject], block: (success: Bool, error: NSError?) -> Void in
if (success)
PFObject.unpinAllInBackground(self.tableData as [AnyObject])
println("Pinned Data has successfully been saved")
else
println("error= \(error?.localizedDescription)")
)
【问题讨论】:
你能提供你用来尝试检索固定数据的代码吗? 【参考方案1】:Parse 将照片保存在tmp/
目录中,当应用重新启动时,tmp/
会被擦除。
将图片保存到Documents/
目录,同步时从Documents/
拉取图片,然后保存。
我不知道代码,所以如果有人可以给出解释,那就太好了
【讨论】:
以上是关于应用程序重新启动时照片丢失并取消固定的主要内容,如果未能解决你的问题,请参考以下文章
当后台服务取消暂停或重新启动时,iOS 应用程序需要多长时间?
使用 Spectron 测试电子应用重新启动时丢失 webdriverio 会话