Чаши UIImagePickerController в ios6

мое приложение вылетает, когда я касаюсь кнопки сделать фото, в iOS 6, и я действительно не понимаю, как это исправить... (я n00b) :)

взгляните на мой код, Buttons.h:

 @interface Buttons : UIViewController
    <UIImagePickerControllerDelegate,
    UINavigationControllerDelegate>

    @property BOOL newMedia;
    @property (strong, nonatomic) IBOutlet UIImageView *imageView;
    - (IBAction)useCamera:(id)sender;
    - (IBAction)useCameraRoll:(id)sender;
    @end

Buttons.m :

#import "Buttons.h"




 @implementation Buttons

    - (void) useCamera:(id)sender
    {
        if ([UIImagePickerController isSourceTypeAvailable:
             UIImagePickerControllerSourceTypeCamera])
        {
            UIImagePickerController *imagePicker =
            [[UIImagePickerController alloc] init];
            imagePicker.delegate = self;
            imagePicker.sourceType =
            UIImagePickerControllerSourceTypeCamera;
            imagePicker.mediaTypes = @[(NSString *) kUTTypeImage];
            imagePicker.allowsEditing = NO;
            [self presentViewController:imagePicker
                               animated:YES completion:nil];

        }
    }
    #pragma mark -
    #pragma mark UIImagePickerControllerDelegate

    -(void)imagePickerController:(UIImagePickerController *)picker
    didFinishPickingMediaWithInfo:(NSDictionary *)info
    {


        [self dismissViewControllerAnimated:YES completion:nil];




    }

    -(void)image:(UIImage *)image
    finishedSavingWithError:(NSError *)error
     contextInfo:(void *)contextInfo
    {
        if (error) {
            UIAlertView *alert = [[UIAlertView alloc]
                                  initWithTitle: @"Save failed"
                                  message: @"Failed to save image"
                                  delegate: nil
                                  cancelButtonTitle:@"OK"
                                  otherButtonTitles:nil];
            [alert show];
        }
    }
    -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
    {
        [self dismissViewControllerAnimated:YES completion:nil];
    }
    @end

    @implementation UIImagePickerController (NonRotating)

    - (BOOL)shouldAutorotate
    {
        return NO;
    }

    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
    {
        return UIInterfaceOrientationMaskPortrait;
    }

    - (NSUInteger)supportedInterfaceOrientations
    {
        return UIInterfaceOrientationMaskAll;
    }
    @end

извините, если я слишком n00b, чтобы справиться :) если бы кто-нибудь мог прочитать мой код и исправить мою небольшую проблему... я был бы самым счастливым человеком в мире...

Маттейс

edit: я не знаю, нашел ли я ошибку, но это появилось:

2013-02-22 16:35:09.886 Гарольд[81732:c07] * Завершение работы приложения из-за необработанного исключения «NSGenericException», причина: «Переходные переходы могут использоваться только тогда, когда исходный контроллер управляется экземпляром UINavigationController .' * Первый стек бросить вызов: (0x1e1a012 0x13bae7e 0x754f31 0x746b99 0x746c14 0x13ce705 0x3022c0 0x302258 0x3c3021 0x3c357f 0x3c26e8 0x331cef 0x331f02 0x30fd4a 0x301698 0x2053df9 0x2053ad0 0x1d8fbf5 0x1d8f962 0x1dc0bb6 0x1dbff44 0x1dbfe1b 0x20527e3 0x2052668 0x2feffc 0x2c3d 0x2b65) Libc ++ abi.dylib: прекратить называется бросать исключение (lldb)


person matthijs    schedule 22.02.2013    source источник
comment
какую ошибку вы получаете?   -  person Ares    schedule 22.02.2013
comment
Разве вы не должны использовать imagePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];?   -  person Rajesh    schedule 22.02.2013
comment
@Ares мое приложение просто закрывается, когда я нажимаю кнопку сделать снимок, но, может быть, это происходит потому, что у меня есть 2 контроллера просмотра на моей раскадровке ... я не знаю ...   -  person matthijs    schedule 22.02.2013
comment
@ Раджеш, куда мне это положить? Извините :)   -  person matthijs    schedule 22.02.2013
comment
В том месте, где вы указали imagePicker.mediaTypes = @[(NSString *) kUTTypeImage];   -  person Rajesh    schedule 22.02.2013
comment
@Rajesh пробовал, но, к сожалению, не работает...   -  person matthijs    schedule 22.02.2013
comment
Пожалуйста, попробуйте выполнить отладку, чтобы увидеть, где происходит сбой. NSLog также может помочь.   -  person Rajesh    schedule 22.02.2013
comment
Попробуйте [self presentModalViewController: анимированный сборщик изображений: YES]; Будет предупреждение о том, что этот метод устарел, но сделайте мне одолжение и пока игнорируйте его. Кроме того, есть ли переход, связанный с вашей кнопкой?   -  person katzenhut    schedule 22.02.2013


Ответы (1)


Попробуйте, как показано ниже, действие кнопки и проверьте:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

imagePicker.delegate = self;

[self presentViewController:imagePicker animated:YES completion:nil];
person Vishal    schedule 23.02.2013
comment
См. мой ответ: stackoverflow.com/questions/13576357/ - person Vishal; 23.02.2013