2015-10-23 194 views
-1

除了浏览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 /文档/

,但每次我重新启动应用程序应用程序和/文档之间的部分是不同的?

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 

回答

1

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

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

我知道我编辑我的问题与更多的保存图像处理功能 – alex

0

你将它们保存 - 不在照片库中 - 而是作为应用程序文档文件夹中的“简单”文件。然后没有标准的用户界面删除。

您需要编写自己的ViewController,然后显示&句柄删除。

+0

嗯没有意识到这一点。我的应用程序的ID(应用程序和文档之间的部分)总是不同吗?如果是这种情况,我不会看到我的应用程序的文档文件夹内部。 当我从我的手机删除我的应用程序文件夹中的所有文件也删除文件? – alex

+0

是的,是的。 iOS显示的警报清楚地表明:'删除“应用程序名称”也会删除其所有数据。' –

相关问题