Saving a photo from photo library - save

I have some part of application that save user data like name, address and photo. I have solve problem to take a photo from photo library.
Because that's only small database, I use NSUserDefaults to save data.
But I don't know how to save photo from photo library that I put in UIImageView...
Please give me some help..
Is it possible to use NSUserDefaults to save that photo??

I would consider using NSUserDefaults to store the image name rather than the data. You should be able to retrieve the image from the photo library no problem as long as you have the filename you need.

Related

AWS S3 Metadata iOS

I am developing photo sharing application in iOS using Amazon as backend.
I have uploaded photo to S3 but my problem is how to get metadata of uploaded photo, actually i want lat and lang of that photo. I am using latest sdk version 2.0.2 of aws.
Can you help me? Can you guid me which function I have to use to get meta data information?
The location data, if available, is embedded inside the image file itself and is not part of the file's S3 object metadata. You can define your own custom metadata when the image is uploaded and set the image's coordinates there.
It may be better though to store the coordinates in a DynamoDB table along with the image's S3 object key to provide better lookup and querying.

Replace existing images to Photo Album

I am using UIImageWriteToSavedPhotosAlbum() method to save images in photo library.I am calling webservices to get images and saving it in photo library but It is creating copy of images because webservice is calling no. of time.
How can I replace existing images from Photo Library?
Thanks
No you can not, since this will allow you to update user images with their consent.
Apple is very restrictive about these kind of things, just image you are overwriting all the images by adding some banner. There is noway the user can undo this.

Use UISaveVideoAtPathToSavedPhotosAlbum and save to custom album

Can I use UISaveVideoAtPathToSavedPhotosAlbum and save to a custom album, say for example to "My App Videos" album?
No, it is saved to Camera Roll Album as stated in the docs.
You can use the code in this tutorial which has a helper classes to easily save images to custom album
http://www.touch-code-magazine.com/ios5-saving-photos-in-custom-photo-album-category-for-download/

Loading/Retrieving an image from Photos Library based on metadata in iOS

I have an iOS application that I am working where I am capturing an image, and then storing it in my Photos Album. I realize that I am able to write custom metadata for this image when I store it using the following:
writeImageDataToSavedPhotosAlbum:metadata:completionBlock:
My question is, is it possible for me to somehow retrieve this same image later on, using this metadata as my search criteria (if for example I store this same metadata in CoreData, and use it later in a query)? An example of possible metadata I am planning on using is either a date and time stamp, and/or geolocation. Is retrieval of images possible using metadata and not knowing the exact file name?
If you already have a Core Data store, save all of the metadata and the asset URL (for the default representation). Then you can do all of your querying locally and access the assets only when required (though you should check they haven't been deleted before showing results).
When you have done your search to get the asset URL you can get the image using assetForURL:resultBlock:failureBlock: from the ALAssetsLibrary.

ALAsset Unique identifier

I want to duplicate an image from the Photo Library but I want to check in the future if I already have imported this image.
Immagine this scenario.
I have a photo in my Photo Library.
I import it in my app by making a copy of it.
I remove this photo from my library.
At a later time I reinsert this picture to my photo library (Same photo from iPhoto, just didn't synch it's album before and I have now)
Is there a unique identifier that I can use to compare the two pictures? is the URL unique?
Or do I have to look into the metadata and try to match it?
If so, what would you suggest? Created Data and location? Just created Date? Size?
Thanks for your advice.
Observations
I've been working with similar functionality, so this is what I know:
Each photo inserted into the photo library will have a unique URL (this means if you insert an image, delete it, then insert it again, even if it is the same image, it will have a new URL).
There is no straight forward way of knowing whether an image is a duplicate of a previous image or not.
I don't think you are trying to do this, but I will warn you that you cannot delete an image programmatically from the iPhone Photo library.
Solutions
I really only have one way of handling this: Create a hash of the photo and store the hash somewhere. If the photo inserted is the exact same photo as before, it should give you the same hash. You can use that hash comparison to determine if you are using the same photo or not. This is the method that I am using and it seems to work reliably for the most part. I have noticed some discrepancies, but these usually involve my work hashing the files before they are added to the photo library (I have noticed that the saved photo can be different from the photo that is being saved).
I hope this information helps. Let me know if I've missed anything or you notice different results in your work.

Resources