2015-10-23 198 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顯示的警報清楚地表明:'刪除「應用程序名稱」也會刪除其所有數據。' –

相關問題