Сбой UIImagePickerController при нехватке памяти на ios7 на iPad Mini

Мое приложение отлично работает на всех устройствах и версиях iOS, но когда дело доходит до ipad mini, на iOS7, когда я выделяю: инициализирую UIImagePickerController и отображаю. После получения изображения приложение внезапно выдает предупреждение о нехватке памяти и аварийно завершает работу. Вот мой код захвата изображения.

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
    UIImagePickerController *imagePickerController;
    if ([UIUtilityClass isCurrentVersionIsIOS7OrGreater]) {
        UIImagePickerController* imagePickerController = [[UIImagePickerController alloc] init];
        [imagePickerController setDelegate:self];
        imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
        imagePickerController.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeImage,nil];
        imagePickerController.allowsEditing=NO;
        CGFloat scaleFactor=1.3f;

        switch ([UIApplication sharedApplication].statusBarOrientation) {
            case UIInterfaceOrientationLandscapeLeft:
                imagePickerController.cameraViewTransform = CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI * 90 / 180.0), scaleFactor, scaleFactor);
                break;
            case UIInterfaceOrientationLandscapeRight:
                imagePickerController.cameraViewTransform = CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI * -90 / 180.0), scaleFactor, scaleFactor);
                break;
            case UIInterfaceOrientationPortraitUpsideDown:
                imagePickerController.cameraViewTransform = CGAffineTransformMakeRotation(M_PI * 180 / 180.0);
                break;
            default:
                break;
        }

    }
    else
    {
        imagePickerController = [[NonRotatingUIImagePickerController alloc] init];
        imagePickerController.delegate = self;
        imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
        imagePickerController.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeImage,nil];
        imagePickerController.allowsEditing = YES;
    }


    popoverController = [[UIPopoverController alloc] initWithContentViewController:imagePickerController];
    popoverController.delegate=self;
    [popoverController presentPopoverFromRect:CGRectMake(626,142,120,135) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
    [imagePickerController release];
    newMedia = YES;

}

После этого я захватываю изображение, используя следующий код.

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


[popoverController dismissPopoverAnimated:true];
[popoverController.delegate popoverControllerDidDismissPopover:popoverController];

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
int orientation=image.imageOrientation;
image=[image imageToFitSize:PIC_SIZE method:MGImageResizeCrop];
    switch (orientation) {
        case UIImageOrientationUp:
            // do nothing
            break;
        case UIImageOrientationDown:
            image=[image imageRotatedByDegrees:180.0];
            break;
        case UIImageOrientationLeft:
            image=[image imageRotatedByDegrees:90.0];
            image=[image imageRotatedByDegrees:180];
            break;
            //2
        case UIImageOrientationRight:
            image=[image imageRotatedByDegrees:-90.0];
            image=[image imageRotatedByDegrees:180];
            break;
        default:
            break;
    }

   }

person NaXir    schedule 10.11.2013    source источник
comment
Вы исправили этот сбой с предупреждением о памяти в iPad mini? Пожалуйста, подскажите, как поступить в этой ситуации?   -  person Mani    schedule 15.11.2013
comment
У меня пока нет решения.   -  person NaXir    schedule 16.11.2013
comment
У меня также возникает та же проблема, но я обнаружил, что при отладке из xcode происходит сбой, но при запуске приложения в качестве обычного пользовательского устройства оно работает нормально... кажется, в iOS есть ошибка   -  person HarshIT    schedule 18.11.2013
comment
У меня иногда работает нормально, особенно на устройствах отличных от ipad mini работает всегда нормально. На iPad Mini он обычно чаще вылетает.   -  person NaXir    schedule 19.11.2013
comment
Пожалуйста, дайте мне знать, если вы найдете решение для этого. Это сводит меня с ума :(   -  person पवन    schedule 12.12.2013
comment
Привет, пожалуйста, дайте мне знать, кто-нибудь получил ответ на эту проблему в iPad Mini?   -  person Mani    schedule 30.01.2014
comment
нет до сих пор нет решения.   -  person NaXir    schedule 30.01.2014
comment
@NaXir у тебя есть ответ сейчас? или просто спросите клиента, что вы должны использовать последний iPad   -  person Nitya    schedule 02.07.2014
comment
@Nitya Все еще не повезло. У этого приложения несколько миллионов пользователей, и мы должны заставить его работать на каждом устройстве. Вылетает только на ipad mini image picker. На любом другом устройстве работает нормально.   -  person NaXir    schedule 03.07.2014
comment
@NaXir Какой позор !! Но я уверен, что средство выбора изображений (на Apple mini) - приложение «Камера» не вылетает! должен быть способ сделать это. буду дальше искать...   -  person Nitya    schedule 03.07.2014


Ответы (1)


Вы тестировали его без вызова релиза для imagePickerController? Если вы используете ARC, я не думаю, что вам нужно это делать.

person steffex    schedule 05.02.2014