On 11 Jul 2012, at 7:18 AM, Vavelin Kevin wrote:

> As you can see, i'm french :) This code works perfectly, I can access to my 
> PhotoLibrary and save the picture in my app but here's the problem :

> - (void) imagePickerController:(UIImagePickerController *)picker 
> didFinishPickingMediaWithInfo:(NSDictionary *)info
> {
> 
>    UIImage *image = [info 
> objectForKey:@"UIImagePickerControllerOriginalImage"];
> 
>    UIImageWriteToSavedPhotosAlbum(image, self, 
> @selector(image:didFinishSavingWithError:contextInfo:), nil);
> 
> }

Have you verified that image is not nil? Framework string constants are not 
guaranteed (very often do not) to have the same content as their names. The 
value of the global NSString constant UIImagePickerControllerOriginalImage may 
not be @"UIImagePickerControllerOriginalImage".

> The method didFinishPickingMediaWithInfo is no longer call in my app and i 
> don't know why. I see that code on stackoverflow and the doc on Xcode doesn't 
> seems to be helpful.


By "no longer" called, I assume you mean that it had been called, but the calls 
stopped coming. Possibly passing nil to UIImageWriteToSavedPhotosAlbum() 
(because the objectForKey: returned nil from an unused key) broke the framework 
in some way that stopped the callbacks.

I don't know (I honestly don't know) whether the callback from 
UIImageWriteToSavedPhotosAlbum() is called on the main thread. The 
documentation says only that the callback will arrive "asynchronously." Add 

        assert([NSThread isMainThread]);

to the beginning of the callback method. If the assertion triggers, then your 
use of UIAlertView will damage your app (it ought to crash, but sometimes one 
is not so lucky).

I don't know if these are the cause of your problem. I look forward to 
someone's pointing out some API error that I missed in my reading of your code.

        — F

-- 
Fritz Anderson -- Xcode 4 Unleashed: Now in stores! -- 
<http://x4u.manoverboard.org/>


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to