我的应用程序存储的照片在哪里存储?

时间:2015-10-23 08:37:07

标签: ios swift uiimagepickercontroller photolibrary

除了浏览Photolibrary之外,我还启用了相机将照片添加到我的

    @IBAction func startCameraButtonTapped(sender: AnyObject) {

    let startCameraController = UIImagePickerController()
    startCameraController.delegate = self
    startCameraController.sourceType = UIImagePickerControllerSourceType.Camera
    startCameraController.allowsEditing = true

    self.presentViewController(startCameraController, animated: true, completion: nil)
    //invoiceImageHolder.image!.scaleAndRotateImage2(280)
    //self.invoiceImageHolder.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI)) / 180.0)

}

每个用户输入都可以删除,但现在我想知道相应照片的位置。当我浏览照片库时,我无法看到使用我的应用拍摄的照片?那些照片存放在哪里?

[编辑] 这是我的saveImage进程

    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

    let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage

    saveImage(selectedImage, path: fileInDocumentsDirectory("\(uniqueImageName)"))
    // set the unique image reference in textfield

    // Set photoImageView to display the selected image
    self.invoiceImageHolder.image = selectedImage

    // Dismiss the picker
    dismissViewControllerAnimated(true, completion: nil)

}

    func saveImage(image: UIImage, path: String) -> Bool{
    let pngImageData = UIImagePNGRepresentation(image)
    //        let jpgImageData = UIImageJPEGRepresentation(image, 1.0)
    let result = pngImageData?.writeToFile(path, atomically: true)
    //print("Save result \(result)")
    return result!
}
编辑嗯,我想我看到了照片存储的位置,但现在我如何浏览它们进行删除?

我认为它在这里:

  

的/ var /移动/容器/数据/应用/ CBFE9E9D-A657-4011-8B9F-EF0C9BB2C603 /文档/

但是每次重新启动应用程序时,Application和/ Documents之间的部分都不同吗?

enter image description here

仍然不是一个有效的解决方案,但对于那些新手来说,这是一个有价值的读物:http://www.techotopia.com/index.php/Working_with_Directories_in_Swift_on_iOS_8

[编辑2] 使用此代码,我可以看到存储在我的应用程序中的所有内容。看到所有文件我有点意外

        // Files stored in my app filemanager

    let filemgr = NSFileManager.defaultManager()

    do {
        print("Start filemanager")
        let filelist = try  filemgr.contentsOfDirectoryAtPath(documentsDirectory())
        for filename in filelist {
            print(filename)
        }
    } catch {
        print("No directory path \(error)")
    }
    // end filemanager

2 个答案:

答案 0 :(得分:1)

UIImagePickerController()不会自动将照片保存到库中。查看其UIImagePickerControllerDelegate协议,您会看到它在制作照片后返回UIImage的方法。然后你可以保存它:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
        UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
    }
}

答案 1 :(得分:0)

你保存它们 - 不是在照片库中 - 而是简单地'应用程序文档文件夹中的文件。那时没有用于删除的标准UI。

您需要编写自己的ViewController来显示&然后处理删除。