iphone app images disappear on update - ios

I have a photo location app which allows the users to take a photo of the location when saving. Up until IOS8 whenever an update was applied all previously entered info was saved, including the image taken.
Since IOS8, all info is retained but the images no longer show, this causes the App to crash when trying to share locations via Facebook, Twitter etc because it is expecting an image.
Is there anything specific i should be looking for relating to behaviour since the new OS?

Related

ios launch my app from the photos application with a selected image

I want the ability to have a user select an image in the PHOTO app and launch my app. M app would then read that image and future process it. The user would continue to remain in my app.
I have been reading on "Share Extensions" but they do not appear to be what i need. They appear to be for when the user wants to QUICKLY share info. They are not for when the user wants to send info to another app.
I have been able to do this easily in android but any starting points on what i need to do?

How to detect a user granting Photos access?

I've got an app on iOS that requires access to the Photo Library on the initial view. It works perfectly every time, except for the VERY first time someone loads the app: when the OS asks for permission to access the user's photos, it's already loaded the view underneath that alert, but it obviously doesn't have the photos to load it properly.
It would be a simple thing to reload the view content once the user grants permission, but I'm having a surprisingly hard time finding a method that is called when that happens.
Is there a method call, or some other way, to detect the moment a user grants permission for an app to access the Photo Library? I've found a few questions that seemed promising, but nothing that actually addresses this issue...

iOS Assets Library: permanent unique key for photos(identify photos between multiple runs)?

Say I have an app which allows user to pick some images from assets library.
When running for the 1st time, user picks some photo, at the 2nd run, when user wants to pick photos, I'd like to set the photos user picked last time as already selected.
How do I identify photos between multiple runs of my app?
iOS apps usually don't get terminated, but get sent to background - state will be unchanged when getting back to foreground
For case your app get's terminated anyway, you can store data in NSUserDefaults, CoreData, the file system or the keychain. In your case it sounds like NSUserDefaults would be a good choice. Don't forget to restore last states on app start.

ALAsset defaultRepresentation issue with iCloud pictures

Using ALAsset, I get a nil answer for a lot of pictures fetched from iCloud in my app when calling the method : defaultRepresentation.
However, when I call "thumbnail" I get the associated small picture.
It mostly happens when the picture has just been added on iCloud from another device. My assumption was that the picture was not fully synchronised yet.
I've read that in this case, I need to subscribe to the ALAsset notifications, thus I could know when the picture is downloaded and update my UI. But some of them are never correctly downloaded, even if I relaunch my app, still nothing.
The strange "workaround" that I found is going in iPhoto and open the pictures in full screen on the device. The issue disappear only for the pictures I opened but remains for the others.
Finally, someone here wrote that it's possible to "force" the download by calling "requestDefaultRepresentation" but this method is not in the Apple documentation so an app using it could be rejected.
My question is : Is there an authorised method to fetch those pictures without asking the user to go in iPhoto ?

Using MultipeerConnectivity.framework to send and receive photos and text files

I want to give to the user of my app the ability to share a photograph without having an internet connection. It is quite hard to explain but I'll do my best. Basically in my app a user can press on a plus button to take a shot using their iPhone. This image is then uploaded on the Internet (Dropbox) in a common folder that can be accessed by all app users. When other users open the app, the image that has been uploaded is downloaded on their device. Since there might be more than one image, the app refreshes itself once in a while, and downloads the new photographs. I want to do the same thing using the bluetooth (or airdrop). When one device takes a picture, this is saved on the device, and sent to all app users nearby. These users can edit it, send it back to the original device where it can be accessed by everyone. basically the original device acts as a server, and all other devices stream the information from that device. The whole purpose of this is to have, say 15 different iOS devices all in the same room in sync which display the same exact thing. When someone edits, all the other people will see it, as if they where in sync with "the cloud" (which now is Dropbox).
I understood that this might be possible with MultipeerConnectivity.framework as it permits more than one device to be connected at the same time. I also found an example app called beam it: http://arctouch.com/beamit/
What I'm asking here is not really for some code, rather some indications on how I could approach the problem.

Resources