Question

I've got an app where I'm taking pictures and storing them to the camera roll. I save the resultant ALAsset's URL so I can reload those specific images again later.

This seemed to be working fine until I upgraded to iOS 5.0.

Now, when I try to load the asset I'm always getting nil back. I've enumerated the entire camera roll, checking the URLs of the images in there, and indeed the URLs seem to be different. ie., I was able to save (and reload) an asset with URL: 'assets-library://asset/asset.JPG?id=1000001124&ext=JPG'. But, now it no longer exists. In fact, all the asset URLs are longer now, such as: 'assets-library://asset/asset.JPG?id=6BDB93FD-B94C-4F77-9ABD-26F34F06B429&ext=JPG' (perhaps those are now more unique?)

Anyway, has anyone else seen this? Am I missing something? Are all my old saved files now useless? Is there any way to map from the old URL to the new URL? Should I be taking a different approach? I don't want to release this and then find out that the URLs have all been changed on me (and my users) again...

Thoughts?

Was it helpful?

Solution

Apple did rewrite the whole Photo-Library for iOS 5. Its now based on Core-Data rather than just SQLIte. That's why the IDs/URLs are completely different now. I think there is no way to map between the old and new IDs. I would guess that in the future the IDs will be persistent (the way core-data works).

Cheers

Hendrik

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top